故事板中自动布局标签的表格视图单元格约束[关闭]
Posted
技术标签:
【中文标题】故事板中自动布局标签的表格视图单元格约束[关闭]【英文标题】:Table View Cell constraints for Auto Layout labels in Storyboard [closed] 【发布时间】: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 中进行调试,您可以在其中查看屏幕上的布局和图层,以查看是否有标签重叠或离开屏幕,具体取决于它正在运行的设备在。如果您想检查多个设备的尺寸,只需点击此图片左下角的加号图标即可。
希望我能够澄清这一点,使其更有意义,并在此过程中提供一些帮助!
【问题讨论】:
【参考方案1】:你没有向我们展示你所有的限制,但听起来你有一个固定的单元格高度限制。
由于您让标签描述高度增加,自动布局认为标题和/或日期必须缩小(以保持单元格的固定高度)。这就是为什么您会收到(误导性)错误,即不知道两个标签中的哪个标签优先不压缩。
移除任何固定高度限制,并确保您的单元格高度设置为UITableViewAutomaticDimension
。这应该会清除自动布局警告和错误。
smileyborg 有一个出色的 Auto Layout table view cell project,它将引导您了解 iOS 8 的自调整单元格功能。
【讨论】:
感谢您的好评!我可以在情节提要中设置UITableViewAutomaticDimension
还是仅在代码中设置?
另外,我基本上对每个项目都有前导/尾随约束,然后在每个项目之间垂直,如果这有帮助的话。如果这也有帮助,请在原始问题中添加图片。
有趣,感谢您的提醒!以上是关于故事板中自动布局标签的表格视图单元格约束[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
故事板自动布局将视图放置在表格单元格中,并将尾随到超级视图约束固定到最左侧