1

将设备更新到 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 中出现二级视图控制器时会出现一些问题:

  1. 所有固定到底部的 UIView 都会在错误的位置显示片刻,然后“跳转”到正确的位置。看起来第一个位置的计算包括底栏(由于“推时隐藏”而隐藏)
  2. 如果有 UITableView 作为子视图:顶部固定的子视图再次显示在错误的位置一会儿,然后“跳转”到正确的位置。看起来第一个位置的计算不包括导航栏的大小。如果我从控制器中删除 UITableView - 一切正常(第 1 页除外)

尝试为辅助视图设置模拟指标 - 没有帮助。

这些“跳跃”真的很烦人。任何建议将不胜感激。

4

2 回答 2

0

据我所知,iOS 8 在标签栏控制器与导航栏控制器混合存在问题。删除其中一个将使其再次运行正常。

于 2014-11-14T18:21:44.593 回答
0

从情节提要中隐藏标签栏时,我遇到了类似的跳跃问题。
确保您的底部子视图固定到超级视图而不是底部布局约束。

您必须从 中执行此操作menu - Editor - Pin - Bottom Space to Superview,因为默认情况下引脚中的Auto Layout菜单。Interface BuilderBottom Layout Constraint

于 2015-02-26T16:32:17.267 回答