presentModalViewController - ViewController在呈现后自动消失

时间:2012-02-08 15:01:18

标签: iphone ios modalviewcontroller

我正在为我的公司开发一款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时遇到过这个问题。

问候, 弗洛里安

1 个答案:

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