gpt4 book ai didi

ios - clipsToBounds 似乎在 UIStackView 中没有效果

转载 作者:搜寻专家 更新时间:2023-10-31 22:40:42 32 4
gpt4 key购买 nike

是否可以在 UIStackView 之外呈现 subview ?我有一个带有按钮和标签的垂直堆栈 View ,我使用堆栈 View 的宽度来适本地设置按钮的高度和宽度:

addArrangedSubview(self.loginMethodButton)
let widthConstraint = NSLayoutConstraint(item: self.loginMethodButton, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 1.0, constant: 0.0)
let heightConstraint = NSLayoutConstraint(item: self.loginMethodButton, attribute: .height, relatedBy: .equal, toItem: self.loginMethodButton, attribute: .width, multiplier: 1.0, constant: 0.0)
NSLayoutConstraint.activate([widthConstraint, heightConstraint])

然后我根据情况将 viewController 中的宽度调整为合适的大小。问题是,在按钮需要的较小尺寸之一中,宽度小于其下方的标签,从而切断了标签。

enter image description here

如果我在设置标签时调用 sizeToFit(),它会起作用,但是,在设置标签后调整尺寸时调用 sizeToFit() 仍然会导致被切断的标签。在标签和堆栈 View 上将 clipsToBounds 设置为 false 无效。

是否可以在堆栈 View 之外渲染 View ?或者我是否必须找到一种方法来重新处理我的约束以解决此问题?

最佳答案

UIStackView 是一个“非渲染”对象……它所做的只是排列其他 View 。

如果问题是您的 UILabel 太宽而无法容纳在 Stack View 提供的区域中,那么您需要将标签设置为“自动缩小”字体,或者您需要更改 Stack View 约束以允许更宽的标签。

编辑 根据您的其他评论,以下内容不正确。

您需要在“包含” View 上设置 .clipsToBounds...根据您显示的图形,这将是深蓝色框(我假设它是 UIView 将图像和标签作为 subview )。

关于ios - clipsToBounds 似乎在 UIStackView 中没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47334551/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com