![](/img/trans.png)
[英]AutoLayout constraints to UITableViewCell contentView not respected
[英]AutoLayout Constraints on UITableViewCell of UITableViewCellStyleSubtitle
我正在使用UITableView
並使用Apple提供的UITableViewCell
Subtitle
樣式。
我也在使用首選字體,以便它們與動態類型一起使用。 如果用戶轉到“設置”並更改UI字體大小,它也會影響我視圖中的字體。
我還允許它使用row.estimatedRowHeight根據文本的長度動態選擇行高。 這很棒,因為字體較大且具有多個行文本時,單元格將進行相應調整。
問題是使用圖像。 圖像大小不同,因此請按比例縮小。 縮放有點像自動像元高度的命中或遺漏。 可能無法及時完成,因此高度的系統計算可能會計算錯誤。
然后我的問題是,是否可以手動將約束添加到UITableViewCell
的imageView
屬性,以使其具有88像素的設置寬度和高度。 這樣,即使圖片尚未完成大小調整,它至少也會正確計算包含單元格的高度嗎?
或者,也許最好問一下:當單元格和文本標簽根據內容的長度和大小動態調整大小時,圖像的寬度/高度是否可能具有靜態值?
謝謝!
有一個很好的庫可以動態創建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
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.