我正在为我的公司开发一款iPhone应用程序,我遇到了一件奇怪的事情。
My View Hierachy看起来像这样:
UITabBarController包含5个Tabs,每个Tab包含一个UINAvigationController。 到目前为止,一切都很完美。
现在我想通过presentModalViewController方法呈现一个模态View控制器 UITabBarController使用这行代码:
-(void)callFilterOptions
{
FilterOptionsView *filterView = [[FilterOptionsView alloc] init];
[filterView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self.tabBarController presentModalViewController:filterView animated:TRUE];
}
FilterOptionsView是一个普通的UIViewController,只包含黑色背景 时刻。
发生的是视图被呈现,并在几秒钟后大量消失。 为什么会这样?在没有点我正在调用dismissModalViewController方法。
我在展示mailcomposer时遇到过这个问题。
问候, 弗洛里安
答案 0 :(得分:0)
UINavigationController *myNavController = [self navigationController];
[myNavController presentModalViewController:filterView animated:TRUE];
或更好的方法可能是:
UIApplication *myApp = [UIApplication sharedApplication];
noIBAppDelegate*appDelegate = (noIBAppDelegate*)myApp.delegate;
[appDelegate.tabBarController presentModalViewController:filterView animated:YES];
解雇:
UIApplication *myApp = [UIApplication sharedApplication];
noIBAppDelegate*appDelegate = (noIBAppDelegate*)myApp.delegate;
[appDelegate.tabBarController dismissModalViewControllerAnimated:YES];
P.S。我建议不要命名一个视图控制器“filterView”,它会更好地命名为“filterViewController”