首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clipsToBounds似乎对UIStackView没有影响

clipsToBounds似乎对UIStackView没有影响
EN

Stack Overflow用户
提问于 2017-11-16 16:22:58
回答 1查看 4K关注 0票数 8

有可能在UIStackView之外呈现子视图吗?我有一个带有按钮和标签的垂直堆栈视图,我使用堆栈视图的宽度来适当地设置按钮的高度和宽度:

代码语言:javascript
复制
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都没有任何效果。

是否可以在堆栈视图之外呈现视图?或者,为了解决这个问题,我必须找到一种重新调整约束的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-16 16:34:56

UIStackView是一个“非渲染”对象.它所做的就是安排其他的观点。

如果问题是您的UILabel太宽,无法适应堆栈视图提供的区域,那么您要么需要将标签设置为“自动缩小”字体,要么需要修改Stack View约束以允许更宽的标签。

编辑基于您的其他评论,以下是不正确的。

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47334551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档