在iPad上基于TabBar的应用程序中,是否可以在“全屏”中在其顶部显示模式?

我有一个仅适用于LANDSCAPE的应用程序(如果有所作为),并且我希望当前以模态形式显示的项目我想以全屏显示,以澄清整个屏幕。我可以在“PageSheet”中很好地显示它,并且在模式视图笔尖上进行几次按钮调整之后,“FormSheet”就可以了,但是一旦我尝试了“FullScreen”,背景就会变成白色(不过,TabBar仍然在那里),并且如果我重试该按钮(不重新启动模拟器),它将不会响应。

用于显示模式视图的按钮所在的视图是CountryViewController.m并具有以下操作:

-(IBAction) showNewModal:(id)sender {
modalContent.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
modalContent.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:modalContent animated:YES];
}

我意识到,如果没有TabBar,这段代码就可以正常工作。我已经花了几个小时的时间在此代码中甚至在AppDelegate.h和.m文件中添加一些内容,但到目前为止,它要么没有响应(足够多而没有显示错误),要么是上述空白。

最佳答案

以我的经验,问题出在从错误的控制器提供模态。

[self.tabBarController presentModalViewController:modalContent animated:YES];

应该管用

如果您使用的是iOS 4,则可能会使用以下更好的选择:
[[UIApplication sharedApplication].keyWindow.rootViewController presentModalViewController:modalContent animated:YES];

10-01 08:46