加载其他不同的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
你应该必须在viewController2
的viewWillAppear
管理这种东西。设置一些标志,当你来自VC3 to VC2
,这样你就可以区分你是从VC3来的!如果你的国旗是真的(我的意思是你是从VC3来的),那么显示你想要的视图,否则显示你想要显示的其他内容!如果你前进意味着你从VC3
推动VC2
(根据命名视图控制器的可能性较小),那么你可以使用prepareforsegue
来设置标志!如果您从VC3
跳到VC2
,那么您可以使用delegate and protocol
或NSUserDefaults
进行存储或设置标志!
是的,可以的,你可以选择隐藏视图(firstView),或者如果你的其他视图(比如说secondView)约束被隐藏相对于要隐藏的视图(firstView)设置,则可以将视图(firstView)的高度更改为零。
这样你就可以隐藏你想隐藏的视图。您只需确定需要隐藏哪个视图,然后更改约束或在转到该视图控制器时隐藏视图。
不能准确理解你想要的!更加详细一些 ! – Lion
编辑它。谢谢! – Supermannoying
尝试张贴一些截图以便更好地理解。 –