已经阅读Auto-Layout: Get UIImageView height to calculate cell height correctly,ios 8中UITableViewAutomaticDimension
的答案很有效,但它不适合较低的ios版本。
我使用UITableView
创建了动态高度systemLayoutSizeFittingSize
。
每个单元格中都有一个正方形UIImageView
,我希望{i} 5和iphone 6 / plus中的UIImageView
保持正方形。所以我将对imageview的约束设置为:
图像视图的高度设置为宽高比1:1到宽度,前导和尾随的约束都保持图像视图的宽度等于单元格。从imageview的底部到内容视图底部的底部空间是29像素。
此外,我在tableview委托中编写代码,如
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell
return cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height+1;
}
但是,结果与我的谓词不一样,imageview非常长:
红色是图像视图的背景。
那是怎么回事?