我有一个针对iOS7 / 8的项目。在iOS7上我进行手动单元格高度计算,在iOS8上我让系统进行数学运算。
单元格主要包含两个垂直堆叠的标签,标题和描述,位于两个装饰视图的左侧,不受我的问题影响。
我试图让所有细胞以60点的高度出现,当它们被点击时,它们不会被截断为全尺寸。这适用于大多数情况。有一个边缘情况,标题和描述实际上不会截断。在这种情况下,在iOS8上点击单元格会缩小它只是最微小,令人讨厌的一点点。
我想知道是否有办法为表格单元设置最小高度,除了在iOS 8中设置自动调整表的估计行高?
我希望这是有道理的,如果我需要更好地解释,请告诉我。对于如何为iOS 8自动调整单元设置最小高度,我们非常感谢。
正常情况 - 截断的标题和描述/在点击时展开
边缘情况 - 没有任何内容被截断/展开实际缩小单元格
我的heightForRowAtIndexPath
在iOS 8上返回UITableViewAutomaticDimension
并在iOS7上使用测量单元进行计算。我还将rowHeight
属性硬编码为60.0f
,这是我预期的最小高度,与IB中的布局相匹配。
当点击单元格时,我调用一个函数来将单元格设置为展开。我使用[tableView beginUpdates]
为这些更改设置了动画。
- (void) setIsExpanded:(BOOL)isExpanded {
_isExpanded = isExpanded;
if (_isExpanded) {
[_descriptionText setLineBreakMode:NSLineBreakByWordWrapping];
[_descriptionText setNumberOfLines:0];
[_title setLineBreakMode:NSLineBreakByWordWrapping];
[_title setNumberOfLines:0];
} else {
[_descriptionText setLineBreakMode:NSLineBreakByTruncatingTail];
[_descriptionText setNumberOfLines:1];
[_title setLineBreakMode:NSLineBreakByTruncatingTail];
[_title setNumberOfLines:1];
}
[self layoutIfNeeded];
}
答案 0 :(得分:22)
根据我的评论:
我看不出图像有什么不同。我也不确定如果没有你的代码,我会知道如何进行测试。
但是,最重要的一点是,在UITableViewCell
的自定义height >= 60.0
视图中创建一个约束
很高兴这有帮助。