这可能是一个非常简单的问题,如果是!!我道歉!
我有一个基于视图控制器的应用程序,我使用
从1 xib移动到另一个 mainviewcontroller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle: [NSBundle mainBundle]];
[self.view addSubview: mainviewcontroller.view];
当我返回原始视图时,我只使用
[self.view removeFromSuperview];
但我想重新调用viewdidload方法。如何在不必再次创建视图的情况下执行此操作?
答案 0 :(得分:0)
addSubview
不是让新视图控制器接管并呈现它的视图集的正确方法。
使用类似的东西:
MainViewController *mainviewcontroller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle: [NSBundle mainBundle]];
[self presentViewController:mainviewcontroller animated:YES completion:completion:^{}];
[mainviewcontroller release];
如果您使用的是故事板,您可以随时创建一个segue并以编程方式调用它或通过故事板本身进行设置。
为了支持iOS 5之前的设备,UIViewController
也有一个较旧的方法(在iOS5中已弃用并替换为我原来的建议)。
- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated