bir*_*rdy 5 ios swift uistackview
我有 UIStackView 并且想在这个视图中添加一些排列好的视图......有时是一个,有时是两个,三个......等等。 UIStackView 有全宽。我希望排列的视图具有相同的宽度且左对齐,这样它们就不会填充 UIStackView 的整个宽度。
这就是我所拥有的:
这就是我要的:
是否有可能以某种方式做到这一点,或者我是否需要根据我添加的排列数量来更改 UIStackVIew 的宽度?
我的代码:
// creating views
stackView = {
let v = UIStackView()
v.axis = .horizontal
v.alignment = .center
v.distribution = .fillEqually
v.spacing = 5
v.translatesAutoresizingMaskIntoConstraints = false
return v
}()
if let img = chosenImage {
let imageView: UIImageView = {
let l = UIImageView()
l.translatesAutoresizingMaskIntoConstraints = false
l.image = img
return l
}()
self.stackView?.addArrangedSubview(imageView)
imageView.addConstraint(NSLayoutConstraint(item: imageView, attribute: .width, relatedBy: .equal, toItem: imageView, attribute: .height, multiplier: 1, constant: 1))
imageView.setNeedsUpdateConstraints()
} else {
print("Something went wrong")
}
Run Code Online (Sandbox Code Playgroud)
您可以在末尾添加一个空的清晰视图到 StackView 并为此视图设置拥抱和阻力优先级。它应该调整到可用空间的大小,因此“填充视图”的拥抱优先级必须更高,并且“填充视图”的阻力应该很低,在您的真实项目上设置对更高值的阻力
| 归档时间: |
|
| 查看次数: |
4736 次 |
| 最近记录: |