我试图制作一个半透明的黑色矩形,里面有一些文字,向用户传达一些信息。它似乎有效,但是当手机的文字大小很大时,标签的内容就会被切断 - 视图不会扩大尺寸。
为了创造这个,我添加了一个黑色背景和圆角的UIView,使它有点透明,并在其中放置了UILabel。视图上的约束应该允许它在旋转手机时变宽,并且标签上的约束使其边缘固定在视图上。
以下是视图的约束:
Align Center X to: Superview
Align Center Y to: Superview
Trailing Space to: Superview >= 40
Leading Space to: Superview >= 40
Width >= 200
Width <= 300
Height >= 100
Height <= 150
标签的约束:
Trailing Space to: Superview Equals:Default
Leading Space to: Superview Equals:Default
Bottom Space to: Superview Equals:Default
Top Space to: Superview Equals:Default
在iPhone 5上运行时,由于某种原因,视图的大小为200 x 102,文本被截断,即使它的约束允许它达到300 x 150.我做错了什么?
答案 0 :(得分:0)
将UILabel顶部/底部/封顶/尾随约束设置为零,因为它具有内在的内容大小。这意味着标签将希望变为宽泛以包含其所有可见的字符串值。看this article
以编程方式创建约束
_constraint=[NSLayoutConstraint constraintWith...];
[self.view addConstraint:_constraint];
//...
_constraint.constant=40;
如果在IB中定义了所有约束,请使用outlet。只需将其连接到约束。
@property (nonatomic,weak) IBOutlet NSLayoutConstraint *constraint;