Xib ViewController

时间:2012-05-07 19:04:31

标签: xcode viewcontroller

这可能是一个非常简单的问题,如果是!!我道歉!

我有一个基于视图控制器的应用程序,我使用

从1 xib移动到另一个
        mainviewcontroller = [[MainViewController alloc]  initWithNibName:@"MainViewController" bundle: [NSBundle mainBundle]]; 
    [self.view addSubview: mainviewcontroller.view]; 

当我返回原始视图时,我只使用

[self.view removeFromSuperview]; 

但我想重新调用viewdidload方法。如何在不必再次创建视图的情况下执行此操作?

1 个答案:

答案 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