为啥我的 UITableView 在 iOS 7 中被切断了?

Posted

技术标签:

【中文标题】为啥我的 UITableView 在 iOS 7 中被切断了?【英文标题】:Why is my UITableView cut off in iOS 7?为什么我的 UITableView 在 iOS 7 中被切断了? 【发布时间】:2013-10-02 04:15:36 【问题描述】:

ios 6 中,由两行(用户名和密码)组成的登录表视图完全正确显示。在 iOS 7 中,底行被切断,我不知道为什么或如何更正该问题。除了升级到 Xcode 5 并在 iOS 7 模拟器上运行之外,没有任何变化。

更新:添加更多图片

【问题讨论】:

你是如何创建表格视图的?你是如何定位的?您可能需要显示一些代码。 我已经添加了我的 cellforrowatindexpath 方法,但是添加表格视图和定位是在故事板中完成的 @AdamJohns 那么我认为你应该检查你在故事板中的布局,我敢打赌你的自动布局约束并不像你想象的那样。 @RonLugge 我该怎么做?我对自动布局不太熟悉。 单击对象,进入右侧窗格,然后调出“尺寸”检查器。尽管它的名字,如果你向下滚动你应该看到你定义的布局。可能发生的情况是您没有定义特定的高度和宽度,而是定义了与其他对象的距离——当这些对象移动时,该距离会产生“时髦”的结果。 【参考方案1】:

尝试在您的视图控制器中使用navigationBar.translucent 属性。在iOS 6 中默认为NO,但YESiOS 7 中。我有一个类似的问题,这为我解决了。

【讨论】:

这为我解决了这个问题,但是有谁知道为什么这个属性设置为YES 会导致表格视图的底部被切断?我的tableview的frame用view的frame初始化,添加到view的subview,没有其他view了。 一个原因可能是高度受限。在这种情况下,顶部 y 是导航开始的位置,可能会将底部向下推。【参考方案2】:

只需检查您在 iOS7 中的 UITableView 框架,可能是您在 3.5 英寸视图上运行它,它会缩小。

【讨论】:

我在 4 英寸上运行,即使我把框架做得更大,不幸的是它也无济于事。【参考方案3】:

查看提供的图像,我认为您可能在导航栏下方。或者换句话说,您的导航栏位于 hte 表的顶部。虽然我不知道为什么会切断登录信息的底部

【讨论】:

不,重叠不是问题,因为我已经使用this成功处理了重叠【参考方案4】:

我发现,只需将 GROUPED 表视图样式更改为 PLAIN 表视图样式即可解决 #0 节标题的“underlap”问题,但会修改节标题视图的颜色。我在我的应用程序中设置了 tableview 背景颜色。使用 PLAIN 样式,部分标题背景颜色会混乱。部分标题颜色接近 tableview 背景颜色,但略有修改。如果我简单地切换回 GROUPED,则不会发生这种情况。这听起来像是一个 iOS7 错误或 Xcode 错误。

【讨论】:

【参考方案5】:

半透明 = NO 在某些情况下修复了它。在其他情况下,我最终调整了 viewDidLoad 中的 tableView

- (void)viewDidLoad 

 [super viewDidLoad];

 CGRect f = self.tableView.frame;
 f.origin.y += self.navigationController.navigationBar.frame.size.height;
 f.size.height -= self.navigationController.navigationBar.frame.size.height;
 self.tableView.frame = f;

【讨论】:

【参考方案6】:

这显然是分组表视图样式的某种问题。我所要做的就是进入故事板场景,选择表格视图,然后在属性检查器中将样式从分组更改为普通。它现在可以按预期工作而不会被切断。

【讨论】:

这并不是真正的解决方案,更多的是一种变通方法。我相信 unspokenblabber 建议的答案是实际答案 很公平,它最终成为我的应用程序的问题。我的观点是,改变表格的样式并不是真正的解决方案。

以上是关于为啥我的 UITableView 在 iOS 7 中被切断了?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的子类 UItableView 不滚动?

为啥我的 UITableView 滚动偏移在返回其视图时最终落在 UISearchController 后面?

iOS - 为啥我的下一个视图回调我以前的视图?

我在学习iOS的UITableView,为啥UITableView的最后一块单元格只能显示一半? [关闭]

iOS 7中UITableView的半透明效果[关闭]

单击不会在uitableview ios 7中选择行