2014-04-17 54 views
0

在一个视图控制器可以说UIViewController1,我有一个UIButton实例,点击时,我希望它从堆栈中删除当前的控制器(自我),并添加一个不同的,我们将它称为UIViewController2如何从视图中删除UIViewController,同时添加另一个?

-(IBAction) pressedButton: (id) sender { 
    [self.view removeFromSuperview]; 
    AppDelegate.rootViewController = [[UIViewController2 alloc] init]; 
} 

我知道这种方式不起作用,但什么是一种很好的实现方式?还是我错误地看着整个概念?

+1

你试过viewcontroller dissmissviewcontroller animated:YES完成 - >目前的视图控制器动画:否完成块? – Pochi

+0

这很有效!不知道这种方法存在。但我认为我正在低效编写代码。我不认为我应该将视图控制器添加到其他视图控制器。 – Scott

+1

其正常添加一个视图控制器在另一个之上,它不正常修改您的应用程序尽管委托根视图控制器。 – Pochi

回答

0

您可以使用以下两种方法显示和解除视图控制器。

至今:

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion 

辞退:

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion 

你只需要动画属性设置为YES的解雇,并就本没有达到你想要做什么。您也可以使用完成块来链接视图控制器。

相关问题