【发布时间】:2015-08-01 17:22:45
【问题描述】:
我有一个带有 4 个动态原型单元格的 tableView:其中三个用于不同类型的标签,一个用于 imageView。
在 viewDidLoad() 中,我使用此代码根据每个单元格的内容确定其高度:
tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension
问题出在带有 imageView 的单元格上。 要显示的图片几乎占据了所有单元格,并且需要横向显示,保持其纵横比。 我能够做到,设置顶部、底部、尾随、前导和高度约束:通过这种方式,tableView 可以计算出适当的 row.height。
从 iPhone 6 切换到 4,图像宽度减小,但高度保持不变,导致奇怪的比例。
我需要根据时刻的宽度来计算视图的八,我尝试了两种方式:
为高度创建一个 NSLayoutConstraint 出口。如果我为它分配一个静态值,它可以工作,但是当我尝试计算时:
constraintOutletForTheHeight.constant = CGFloat(myImageView.frame.size.width / 2)
它开始以旧值显示第一个单元格,其他单元格以计算出的高度值显示。
我也尝试从 Storyboard 设置 aspectRatio 约束,但在这两种情况下 Xcode 都告诉我它不能同时满足约束。
感谢您的关注
【问题讨论】:
标签: ios swift autolayout