我有一个自定义的tableview单元格,让我自动布局管理它的高度。
tableView.estimatedRowHeight = 44
tableView.rowHeight = UITableViewAutomaticDimension
在TableViewCell中我有一个子视图:
contentView.addSubview(subView)
我希望TableViewCell要么是屏幕高度的40%,要么是250pts。
我通过这样做得到了它:
self.contentView.autoSetDimension(.Height, toSize: round(UIScreen.mainScreen().bounds.height * 0.40), relation: .GreaterThanOrEqual)
self.contentView.autoPinEdgeToSuperviewEdge(.Leading)
self.contentView.autoPinEdgeToSuperviewEdge(.Trailing)
self.subView.autoSetDimension(.Height, toSize: 250, relation: .GreaterThanOrEqual)
subView.autoPinEdgeToSuperviewEdge(.Top)
subView.autoPinEdgeToSuperviewEdge(.Leading)
subView.autoPinEdgeToSuperviewEdge(.Trailing)
subView.autoPinEdgeToSuperviewEdge(.Bottom)
这看起来很草率。这是最好的方法吗?
答案 0 :(得分:1)
您不需要向contentView
添加约束,以便将其大小自动调整为subView
,请尝试以下操作:
subView.autoSetDimension(.Height, toSize: round(UIScreen.mainScreen().bounds.height * 0.40), relation: .GreaterThanOrEqual)
subView.autoSetDimension(.Height, toSize: 250, relation: .GreaterThanOrEqual)
subView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero)