我无法在里面用UITableViewCell
实现自我尺寸UIStackView
。
对于UITableViewCell
我正在做这样的事情:
在代码我这样做:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.estimatedRowHeight = 80
}
但是当我运行应用程序时,UITableViewCell
s不会调整大小:
我怎么能错过让UITableViewCell
自我调整内部的UIStackView
?
你有多线标签吗?如果是这样,请确保将IB中的lines属性设置为0而不是1。
堆栈顶部和底部。
如果不这样做,请检查以下内容:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
使自定义单元格的自动布局在UITableViewCell上工作的技巧是确保您有限制来固定所有侧面的每个子视图 - 也就是说,每个子视图应该具有前导,顶部,尾部和底部约束。然后,子视图的固有高度将用于指示每个单元格的高度。
这是a nice tutorial将帮助您完成它。
细胞大小调整正常。您的问题是您为堆栈视图设置了固定的高度。
水平堆栈视图中的视图将其height
设置为64
,最有可能将其标准优先级设置为1000
。此Stack View最有可能将其分布设置为Fill
。你基本上告诉Stack View,包含的图像必须用64
的高度填充堆栈视图。这也将堆栈视图限制为64
,并且除了View之外还有垂直堆栈视图。如果希望View旁边的垂直堆栈视图大于Center
,请将包含View的水平Stack View的分布更改为64
。