iOS 7/8 UITableView Cell:两个UILabel,动态高度,自动布局,可变行高

Zso*_*olt 15 uitableview uilabel ios autolayout

因此,当我只有一个标签根据字符串的长度更改高度时,我可以使用自动布局设置动态高度大小.我的问题是,如果我添加另一个应该做同样的UILabel,事情就不会有效.

我将内容拥抱优先级和压缩阻力设置为1000 = =我得到歧义警告

如果我将第二个UILabel的内容拥抱(垂直)设置为999或250,那么它的效果很好但仅当第二个标签有2行或更多行时才能正常工作.如果第二个标签为空或只有一行,则heightForRowAtIndexPath systemLayoutSizeFittingSize:UILayoutFittingCompressedSize高度返回较大的值,并且单元格具有较大的空格.

我也玩过内在尺寸:默认或占位符(有几个高度和宽度),但它也没有帮助.

有什么建议可以做什么?

Zso*_*olt 18

我终于开始工作了.解决方案是我明确地将首选宽度设置为当前帧宽度.因此,基本上检查尺寸检查器中标签>首选宽度中的显式复选标记.

参考:http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout 下载示例代码并查看故事板设置.

  • 对我来说,缺少的元素是为我的单元格的标题和字幕标签设置内容拥抱和内容压缩阻力优先级,如Ray Wenderlich教程中所示. (2认同)
  • 非常感谢 wenderlich 的文章!它几乎立即起作用。在我试图通过搜索互联网来解决这个问题之前几天...... (2认同)