我有一些逻辑需要在按下view
后显示不同的button
。以下代码来自appDelegate
,但不适用于ViewController
实施。有没有办法从当前的ViewController
实现中更改视图控制器故事板?
self.window.rootViewController =
(UIViewController *)[[UIStoryboard storyboardWithName:@"Main" bundle: nil] instantiateViewControllerWithIdentifier:@"homeView"];
答案 0 :(得分:1)
当控制器的视图当前在屏幕上时,它具有指向其窗口的非零窗口属性。此外,如果具有此代码的控制器是在同一个故事板中制作的,则可以使用self.storyboard而不是从其名称中获取故事板。
self.view.window.rootViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"homeView"];
答案 1 :(得分:1)
您可以从window
实例获取UIApplication
:
UIApplication *application = [UIApplication sharedApplication];
UIViewController *newRoot = [self.storyboard instantiateViewControllerWithIdentifier:@"homeView"];
[(AppDelegate *)application.delegate window].rootViewController = newRoot;