我在 iOS7 上使用自动布局,遇到这样的问题:
我将 UILabel 放置到 UIView 上,并安排自动布局约束,以便标签的 centerX = 父视图的 centerX。我没有对标签施加任何宽度限制。当我在运行时设置标签的文本时,标签的绘制宽度刚好足以容纳文本,左侧和右侧没有边距/填充。我想要的是在左侧和右侧有一些填充,以便文本不会从标签开始的地方开始。实现此目的的技巧可以是将文本设置为@“text”,但当然这不是正确的方法:)
我怎样才能实现我想要的?
您可以自己扩展 UILabel 并覆盖内在内容大小。请确保您也设置了 textAlignment = NSTextAlignmentCenter。
-(CGSize)intrinsicContentSize{
CGSize contentSize = [super intrinsicContentSize];
return CGSizeMake(contentSize.width + 50, contentSize.height);
}
雨燕5.0
open override var intrinsicContentSize: CGSize {
let size = super.intrinsicContentSize
return CGSize(width: size.width + 16, height: size.height)
}
这可能仅在您只有一行文本要显示时才有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)