我的问题可以归结为:
我的应用有一个导航栏和一个TabBar。当显示TabBar的第一个视图时,视图本身不会在TabBar下延伸;在使用之后点击其中一个选项,所有相关的视图都会扩展和更改大小,这使得定位内容非常困难。
我知道我可以禁用“在顶部条形下延伸边缘”和“在底部条形下延伸边缘”但这会弄乱视图背景。真正的选择是找到一种方法来强制视图(或TabBar)在顶部栏和底栏总是下延伸,包括起始视图。
有一个存储库,其中包含在https://bitbucket.org/juliobiason/tabbarmisbehaviour中复制此问题的代码,可以在此处查看正在进行的操作示例:http://imgur.com/lbbml6D
答案 0 :(得分:2)
好的,我已经在你的问题上花了将近一个小时,我终于想出了一个解决方案,但我认为它不是最好的解决方案。您遇到的问题是iOS7错误,当从视图控制器切换到另一个时,底部布局指南未正确放置。所以为了解决这个问题,创建一个UITabBarController类,实现UITabBarControllerDelegate,在storyBoard中设置它并写下以下内容:
@implementation TabBarController
- (void)viewDidLoad {
[super viewDidLoad];
self.delegate = self;
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
[tabBarController.view setNeedsLayout];
}
@end