UITableView 与导航栏不对齐(单元格在旋转时卡在下面)

Posted

技术标签:

【中文标题】UITableView 与导航栏不对齐(单元格在旋转时卡在下面)【英文标题】:UITableView Misalignment with Navigation Bar (cells get stuck underneath on rotate) 【发布时间】:2011-11-04 21:09:21 【问题描述】:

我正在使用 Xcode 4.2 中的新 Storyboard 功能,我遇到了一个问题我的 UITableView 似乎忘记了设备旋转时有一个导航栏。当设备旋转时,单元格似乎被在导航栏下方。这个错误把我逼疯了,我可能只是把项目扔掉然后重新开始。

由于我最近注意到这一点,我不确定这是我做错了什么/配置错误还是一个错误。尽管如此,对于这个问题:


问题图片:

下图显示了我的应用程序加载后的样子。一切都正确

对齐

一旦设备旋转,UITableView 将忽略导航栏并占据其空间。

即使将设备重新定向为纵向模式,问题仍然存在。


我在 Xcode 中的 struts 和 springs 与从对象库中拖出的默认 UINavigationController 没有什么不同。我什至放弃了我的 UINavigationController 并重新配置了一个新的。

为了记录,我没有将我的主导航控制器子类化。

最后,Stack Overflow 上有一个类似的post,但正如您所见,我的导航栏确实在旋转时会正确调整自身大小。

【问题讨论】:

您检查过Autoresize Subviews 设置吗? 【参考方案1】:

在 didRotateFromInterfaceOrientation 方法中添加这个。

[self.navigationController.view layoutSubviews];

【讨论】:

事情如此简单。这解决了我的问题。【参考方案2】:

您的UIViewController 中似乎有wantsFullScreenLayout = YES

【讨论】:

那个,或者他有一个带有半透明导航栏的导航控制器,它总是允许underlapping。 @dzeikei 我的视图控制器都没有那个设置,但是很棒的想法。设置半透明导航栏只是为了让我可以展示 UITableView 假设它的空间。

以上是关于UITableView 与导航栏不对齐(单元格在旋转时卡在下面)的主要内容,如果未能解决你的问题,请参考以下文章

uitableview 自定义单元格在向下滚动 uitableview 时丢失其内容

为啥我的 UITableView 单元格在滚动时重叠?

UITableView 单元格在向下滚动然后备份后消失

如何阻止 UITableView 单元格在视图更改时消失

为啥我的单元格在我的 UITableView 中显示为空白?

UITableview刷新单元格在部分标题下滚动