具有aspectratio contentview的UITableVIew动态高度

时间:2014-12-26 10:19:29

标签: ios uitableview swift autolayout

已经阅读Auto-Layout: Get UIImageView height to calculate cell height correctly,ios 8中UITableViewAutomaticDimension的答案很有效,但它不适合较低的ios版本。

我使用UITableView创建了动态高度systemLayoutSizeFittingSize

每个单元格中都有一个正方形UIImageView,我希望{i} 5和iphone 6 / plus中的UIImageView保持正方形。所以我将对imageview的约束设置为: enter image description here

图像视图的高度设置为宽高比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非常长:

红色是图像视图的背景。

那是怎么回事?

0 个答案:

没有答案