AutoLayout UITableViewCell TableView / Screen的高度倍数

时间:2016-07-31 21:17:27

标签: ios swift uitableview autolayout uikit

我有一个tableViewCell,其中包含一个应该占屏幕高度40%的imageSlider。

无论如何可以使用自动布局?将单元格添加到tableView后,已经为单元格计算了高度,因此对于单元格高度,将忽略添加的任何约束。

我可以实现heightForRow并返回正确的值,但我想知道我是否可以单独使用AutoLayout来实现这一点?

cell.imageSlider.heightAnchor.constraint(equalTo: tableView.heightAnchor, multiplier: 0.4)

2 个答案:

答案 0 :(得分:0)

向图像滑块添加高度约束,并在单元格中声明相应的iboutlet。将其常量值设置为view.bounds.size.height / 60.0。让我知道它是否有效。

答案 1 :(得分:0)

向图像滑块添加高度约束,并在单元格中声明相应的iboutlet。将其常量值设置为view.bounds.size.height * 0.4。设置顶部&来自superView(在你的情况下是TableViewCell)的imageSlider的底部约束。我知道它是否有效。 另外,添加以下代码

- (void)viewWillLayoutSubviews{
    [self.imageSlider layoutIfNeeded];
    //OR 
    [cell layoutIfNeeded];
}

layoutIfNeeded将自动更新约束。