我有一个嵌入导航控制器(NAV1)的视图控制器(VC1)。在其viewWillAppear方法中,我调用模态呈现另一个视图控制器。在一种情况下,我需要向新的视图控制器(VC2)呈现动画,而在另一种情况下,它应该在没有动画的情况下呈现。 VC2也嵌入在自己的导航控制器(NAV2)中。
当动画标志设置为TRUE时,一切正常。当我将标志设置为FALSE时,出现了一些错误:
1.我在控制台中收到以下警告:不建议在分离的视图控制器上显示视图控制器
2.当我在调用dismissViewControllerAnimated:FALSE completion:nil
后从VC2返回时,VC1的viewWillAppear方法不会被调用。如果动画标志设置为TRUE,则会调用它。
在VC1中:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self performSelector:@selector(importStuff:)
withObject:nil];
}
-(void)importStuff
{
//instatntiate VC2
//instantiate NAV2
[Utility presentViewController:pNavController
fromViewController:self
animated:FALSE
completion:nil];
// the above method calls the presentViewController:animated:completion: method
}
IN VC2:
[Utility dismissViewController:self
animated:FALSE
completion:nil];
上面的方法调用dismissViewControllerAnimated:方法。