将设备更新到 iOS 8 后,会出现下一个布局问题。
我有一个 UITabBarController,它包含两个嵌入在 UINavigationController 中的 UITableViewController。这是主要观点。
StoryBoard 中还设计了几个 UIViewControllers(未嵌入 UINavigationViewControllers)。这些是次要观点。他们都将“在推送时隐藏底部栏”设置为“是”。设置约束以确定布局。
所有次要视图都显示为:
UIStoryboard* sb = [UIStoryboard storyboardWithName:STORYBOARD_NAME bundle:nil];
UIViewController* secondaryView = [sb instantiateViewControllerWithIdentifier:_name];
[navigationController pushViewController:secondaryView animated:YES];
在 iOS7 上一切正常。但是在 iOS8 中出现二级视图控制器时会出现一些问题:
- 所有固定到底部的 UIView 都会在错误的位置显示片刻,然后“跳转”到正确的位置。看起来第一个位置的计算包括底栏(由于“推时隐藏”而隐藏)
- 如果有 UITableView 作为子视图:顶部固定的子视图再次显示在错误的位置一会儿,然后“跳转”到正确的位置。看起来第一个位置的计算不包括导航栏的大小。如果我从控制器中删除 UITableView - 一切正常(第 1 页除外)
尝试为辅助视图设置模拟指标 - 没有帮助。
这些“跳跃”真的很烦人。任何建议将不胜感激。