【发布时间】:2014-10-31 22:27:07
【问题描述】:
我在 Xcode 6 中为 iOS 8 使用 AutoLayout,我需要在这个自定义表格视图单元格上的最后一步是添加一个 "Bottom Space to Container Margin" 约束,因此我的 Table View Cell 会根据 Label Description...
然而,每当我将底部空间添加到容器边距约束时,我都会收到一堆警告,但如果我做了所有需要的更改,它最终会剪裁标签(Headline Label 的全部,Date Label 的底部) ,我假设是因为它设置了一些更高的优先级。并在控制台中给我这个警告,我不确定它是否与此或其他有关:“可能以下列表中的至少一个约束是你不想要的。”
如果不清理那些 AutoLayout 警告/错误,我就无法真正运行该项目,所以想知道您是否对我可以做什么或缺少什么有任何想法?
谢谢!
更新: 这里的问题与接受的答案所说的有关,但我想让 Q&A 更清楚一点,因为我已经为遇到这个问题的其他人弄清楚了。
问题在于单元格的高度有固定的限制。这些可以在故事板或代码中设置(即heightForRowAtIndexPath),因此请务必检查这两个地方。删除后,请确保设置UITableViewAutomaticDimension。
还有帮助的是使用 Pin 菜单。有时标签可能会跑出屏幕,因为它不知道单元格的约束基于设备大小的位置。因此,如果标签基于横向布局但设备是 iPhone 5 并且是纵向的,则您的标签可以在屏幕外运行。这是 Pin 菜单:
此外,这些东西可以在 Storyboard Assistant Editor:Device Preview 中进行调试,您可以在其中查看屏幕上的布局和图层,以查看是否有标签重叠或离开屏幕,具体取决于它正在运行的设备在。如果您想检查多个设备的尺寸,只需点击此图片左下角的加号图标即可。
希望我能够澄清这一点,使其更有意义,并在此过程中提供一些帮助!
【问题讨论】:
标签: ios uitableview autolayout xcode6