Childview宽度锚在stackView中不起作用
Posted
技术标签:
【中文标题】Childview宽度锚在stackView中不起作用【英文标题】:Childview width anchor is not working inside stackView 【发布时间】:2018-04-11 12:06:32 【问题描述】:我试图在 Stackview 中拥有最多 3 个视图,并且所有子视图都应该居中对齐 `
for _ in array
if(stackView.subviews.count != 3)
let image : UIImageView = UIImageView()
image.backgroundColor = UIColor.orange
image.heightAnchor.constraint(equalToConstant:30).isActive=true
image.widthAnchor.constraint(equalToConstant:30).isActive=true
image.layer.cornerRadius=15
stackView.addArrangedSubview(image)
` stackview 对齐居中,分布居中
【问题讨论】:
【参考方案1】:如果 stackView 有一个 centerX 约束,没有前导和尾随约束以使其根据子元素的大小进行拉伸,则可以实现这一点
let sta = UIStackView()
sta.translatesAutoresizingMaskIntoConstraints = false
sta.distribution = .fill
sta.axis = UILayoutConstraintAxis.horizontal
self.view.addSubview(sta)
sta.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive=true
sta.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 100).isActive=true
sta.heightAnchor.constraint(equalToConstant:30).isActive=true
for _ in 0...10
let image : UIImageView = UIImageView()
image.translatesAutoresizingMaskIntoConstraints = false
sta.addArrangedSubview(image)
image.backgroundColor = UIColor.blue
image.heightAnchor.constraint(equalToConstant:30).isActive=true
image.widthAnchor.constraint(equalToConstant:50).isActive=true
image.layer.cornerRadius=15
【讨论】:
谢谢你!有效。我的错误是我在故事板中有宽度限制的堆栈视图以上是关于Childview宽度锚在stackView中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
ScrollView -> ChildView 没有调整到约束
带有 StackView 和固定页脚的 ScrollView