有没有可能让子视图在UIStackView
之外呈现?我有一个垂直的堆栈视图,其中包含一个按钮和一个标签,我正在使用堆栈视图的宽度来适当地设置按钮的高度和宽度:
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中根据情况调整宽度以适当的尺寸。问题是,在其中一个较小的尺寸中,按钮需要的宽度比其下方的标签还要小,这会导致标签被截断。
如果我在设置标签时调用sizeToFit()
,它能够正常工作,但是在设置标签后调整大小时调用sizeToFit()
仍然导致标签被截断。将clipsToBounds
设置为false对标签和堆栈视图都没有影响。是否有可能在堆栈视图之外呈现视图?还是我必须找到一种重新设计约束以解决此问题的方法?