【发布时间】:2013-10-14 02:59:08
【问题描述】:
我有一个UITableViewCell,带有一个使用 AutoLayout 的自定义标签。它的约束设置为内容视图的前导、尾随、底部和顶部空间。这些单元格出现的表格视图控制器位于UISplitViewController 内。加载表格视图时,我使用以下代码计算单元格的高度:
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
CGFloat height = size.height;
在纵向中,这使我可以正确显示单元格。这是部分单元格的屏幕截图:
但是,当我将 iPad 旋转为横向时,它没有计算出正确的尺寸,最终导致填充过多:
在旋转内容视图的大小时调用tableview:heightForRowAtIndexPath: 时设置断点未正确报告。事实上,它报告的是旧的、更窄的表格视图。
如何让我的单元格在 iPad 上使用 UISplitViewController 适当调整大小?
【问题讨论】:
-
看起来您的单元格包含多行 UILabel。为了获得正确的高度,标签需要将
preferredMaxLayoutWidth属性正确设置为可用宽度(旋转设备时可能会有所不同)。如果您还没有看过这篇文章,请查看它以及 GitHub 上 cmets 中的示例项目:stackoverflow.com/questions/18746929/… -
您是否创建了额外的代码并将任何控件放入其中?您可以在此处添加您的代码吗?
标签: uitableview ios7 autolayout