我正在使用UITableView
并使用Apple提供的UITableViewCell
Subtitle
样式。
我也使用首选字体,以便它们与动态类型一起使用。如果用户转到“设置”并更改UI字体大小,则它还会影响我视图中的字体。
我还允许它使用row.estimatedRowHeight根据文本的长度动态选择行高。这很好,因为有了更大的字体和多行文本,单元格会相应调整。
使用图像是什么问题。图像尺寸不同,因此缩小尺寸。缩放是自动单元格高度的命中或未命中。它可能无法及时完成,因此系统计算高度可能会计算错误。
我的问题是,我可以手动将约束添加到UITableViewCell
的{{1}}属性,以使其设置宽度和高度为88像素。这样,即使图片还没有调整大小,它至少会正确计算包含单元格的高度吗?
或者,或许最好问一下:当单元格和文本标签根据内容长度和大小动态调整大小时,是否可以为图像设置静态宽度/高度?
谢谢!
答案 0 :(得分:0)
有一个很好的库可以动态创建UI。它被称为制图 https://github.com/robb/Cartography
这里有助于按图像视图高度创建可调整大小的单元格的代码:
import UIKit
import Cartography
class TableViewCell: UITableViewCell {
@IBOutlet weak var resizableImage: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
func configurate() {
constrain(self.resizableImage) { view1 in
view1.width == view1.height
view1.top == view1.superview!.top
view1.bottom == view1.superview!.bottom
}
constrain(self.resizableImage) { view1 in
view1.height == 88
}
}
}