加载其他不同的viewController参数

问题描述:

在我的viewController2我有不同的UIView的,让我们说,当我加载viewController3我的viewController2我只需要显示UIView2。有可能这样做吗?加载其他不同的viewController参数

viewController2,有很多形式。例如,单击form1上的按钮后,它将隐藏form1并显示form2等等。现在,问题是如果我从viewController3加载我的viewController2是否可以显示form2而不是form1?

下面是如何加载我viewController2:

[APP_DELEGATE setUIBlockingEnabled:[NSNumber numberWithBool:NO]]; 
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
appDelegate.rootViewController = nil; 
appDelegate.rootViewController = [[RootViewController alloc] init]; 
appDelegate.window.rootViewController = appDelegate.rootViewController; 
appDelegate.window.backgroundColor = [UIColor clearColor]; 
RegistrationViewController *controller = [[RegistrationViewController alloc]init]; 
[appDelegate.rootViewController moveToViewController:controller]; 

// viewController2

@property (nonatomic, strong) UIView *rectHolder1; 
@property (nonatomic, strong) UIView *rectHolder2; 

rectHolder1和rectHolder2有不同的子视图,并在页面加载我显示rectHolder1和rectHolder2是不可见的。当用户点击rectHolder1的按钮时,它会隐藏rectHolder1并显示rectHolder2。现在我怎么能直接显示rectHolder2,如果我从另一个viewController加载viewController2

+2

不能准确理解你想要的!更加详细一些 ! – Lion

+0

编辑它。谢谢! – Supermannoying

+0

尝试张贴一些截图以便更好地理解。 –

你应该必须在viewController2viewWillAppear管理这种东西。设置一些标志,当你来自VC3 to VC2,这样你就可以区分你是从VC3来的!如果你的国旗是真的(我的意思是你是从VC3来的),那么显示你想要的视图,否则显示你想要显示的其他内容!如果你前进意味着你从VC3推动VC2(根据命名视图控制器的可能性较小),那么你可以使用prepareforsegue来设置标志!如果您从VC3跳到VC2,那么您可以使用delegate and protocolNSUserDefaults进行存储或设置标志!

是的,可以的,你可以选择隐藏视图(firstView),或者如果你的其他视图(比如说secondView)约束被隐藏相对于要隐藏的视图(firstView)设置,则可以将视图(firstView)的高度更改为零。

这样你就可以隐藏你想隐藏的视图。您只需确定需要隐藏哪个视图,然后更改约束或在转到该视图控制器时隐藏视图。