Swift 约束使错误的元素宽度变小

Posted

技术标签:

【中文标题】Swift 约束使错误的元素宽度变小【英文标题】:Swift constraint makes wrong element width smaller 【发布时间】:2016-05-23 11:46:37 【问题描述】:

所以我在视图左侧有这个UIStackView,我使用尾随空格完成了这个,并且我有标签,当我为标签设置约束时,我希望它位于我的堆栈视图的左侧,而不是收紧标签它使堆栈视图更小,我该如何解决这个问题?我在任何地方都找不到任何答案,我不想为堆栈视图设置宽度约束,因为它可能会改变,我只想优先考虑堆栈视图宽度而不是标签宽度

约束:

NSLayoutConstraint(item: self.mainView, attribute: .Bottom, relatedBy: .Equal, toItem: stackView, attribute: .Bottom, multiplier: 1.0, constant: 10)
NSLayoutConstraint(item: self.mainView, attribute: .Trailing, relatedBy: .Equal, toItem: stackView, attribute: .Trailing, multiplier: 1.0, constant: 10)

NSLayoutConstraint(item: mainView, attribute: .Bottom, relatedBy: .Equal, toItem: Label, attribute: .Bottom, multiplier: 1.0, constant: 10)
NSLayoutConstraint(item: Label, attribute: .Leading, relatedBy: .Equal, toItem: mainView, attribute: .Leading, multiplier: 1.0, constant: 20)
NSLayoutConstraint(item: Stack, attribute: .Leading, relatedBy: .Equal, toItem: Label, attribute: .Trailing, multiplier: 1.0, constant: 10)

【问题讨论】:

【参考方案1】:

我已经设法通过分配堆栈视图.FillEqually 来做到这一点

【讨论】:

以上是关于Swift 约束使错误的元素宽度变小的主要内容,如果未能解决你的问题,请参考以下文章

如何在ios swift中以编程方式创建自动布局等宽度约束?

getBoundingClientRect() 返回错误的宽度

如何在 Swift 中使用宽度约束将 Xib 加载到 CollectionView?

如何设置约束,以使视图的宽度至少等于某个宽度时为0

如何在 Xcode 中使元素具有百分比宽度

Swift UIView 自动布局和约束