我有一个自定义的 UITabBarController
并在 viewDidLoad
中使用 setFrame 我将 tabBar 移动到屏幕顶部。这很好用。
在 Interface Builder
中,我将 XIB
文件中的元素(按钮、标签等)向下推,以便顶部的 tabBar 有空间.我确保将 Bottom Bar 设置为 none(在检查器的模拟指标中)并确保 UIView
的高度为 480。
当我对此进行测试时,tabBar 按预期位于顶部,但 View 被裁掉了 tab 栏通常所在的位置。甚至背景 UIImage
也没有显示出来。它只是白色的。如何增加 viewController 的框架大小?
我尝试更改在 subview
的 viewDidLoad
中向 [self view]
添加一个 setFrame
命令,但确实如此不要把戏。
谢谢
最佳答案
UITabBarController 自动设置事件 View Controller 的框架。
之后您可以尝试修改 View 的框架或尝试为所有 View 设置clipSubviews = NO
。
也许您想尝试在 viewDidAppear:
或其他地方执行以下操作(尝试!)。这有望在选项卡栏 Controller 修改 View 框架后改回 View 框架。
dispatch_async(dispatch_get_main_queue(), ^(void){
[self.view setFrame:CGRectMake(0,0,320,480);
});
关于ios - 自定义 UITabBarController 移动到顶部留下白色区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754504/