使用自动布局将UIImageView
添加到UITableViewCell
。
UIImageView
的宽度应为UITableViewCell
宽度的50%,但无论如何不得大于50px。
这不起作用:
NSLayoutConstraint.activate([
cellImageView.topAnchor.constraint(equalTo: contentView.topAnchor),
cellImageView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
cellImageView.centerXAnchor.constraint(equalTo: contentView.centerXAnchor),
cellImageView.heightAnchor.constraint(equalTo: cellImageView.widthAnchor, multiplier: cellImage.size.height / cellImage.size.width),
cellImageView.widthAnchor.constraint(equalTo: contentView.widthAnchor, multiplier: 0.5),
cellImageView.widthAnchor.constraint(lessThanOrEqualToConstant: 50)
])
如何定义布局约束?
答案 0 :(得分:2)
这是一个布局库吗?我不熟悉代码中的语法,但根据您的描述,它听起来像您想要的宽度限制:
lessThanOrEqualToConstant: 50
equalTo: contentView.widthAnchor, multiplier: 0.5
的优先级低于50pt约束答案 1 :(得分:0)
您将设置两个具有不同优先级的单独约束。一个约束为50%宽度,UILayoutPriority.DefaultHigh
优先级(例如750
),而第二个约束为50 point
约束,UILayoutPriority.Required
优先级(例如1000
)。然后,这将尝试实现两个约束,但如果它们发生冲突(即超过50个点),将会打破50%的限制。