我有一个模态视图,我在应用程序启动后显示。现在的问题是模态视图为状态栏留下了20个像素(见图)
double status bar http://k.minus.com/j1vKSpCmFJXie.png
这是我的MyViewController
在界面构建器中的样子:
IB-Layout http://k.minus.com/jbyZPICtsq0sMy.png
在viewDidLoad
回调中,我将视图设置为我的WelcomeVC视图:
- (void)viewDidLoad{
[super viewDidLoad];
self.view = self.navController.view; // navController is the outlet to my NavigationController in IB
}
我打开这样的模态:
MyViewController *welcomeVC = [[MyViewController alloc]init];
[self presentModalViewController:welcomeVC animated:YES];
[welcomeVC release];
如何摆脱视图和状态栏之间的这个空间?
答案 0 :(得分:1)
我不确定我是否理解你的问题。
您是否在navController中调用模态视图?
如果是这样,问题可能是一个子viewController正在调用模态,而父应该是,意思是rootViewController,托管你的navController - 而不是navController本身。
如果navController正在调用模态视图 - 只是一个意见 - 为什么需要调用modalView?将它作为视图插入堆栈,与UINavigationController环境更兼容。
答案 1 :(得分:0)
我发现将NavigationController直接添加到viewcontroller没有多大意义,因为NavigationController应该在ViewController之外定义,因为我的ViewController不必知道它是否会显示在NavigationController中或模拟弹出窗口,甚至可能是iPad上的Popover。
所以我所做的就是为Welcome view
和Plans view
创建了两个独立的ViewControllers。这意味着它们在仅显示任一视图的情况下也更普遍可用。