我有一个 UILabel,我想在这个标签中显示一些文本。我想将标签宽度最多增加设备全屏的 70%。如果该标签的文本长度不适合这 70% 的大小,则标签会自动转到与文本长度一样长的下一行。每次标签长度越过主屏幕的 70% 宽度时,线条也会中断。我已经尝试了几种方法但无法解决。请帮我解决这个问题。
提前致谢;
将标签拖到故事板并为其添加顶部和前导约束。
现在选择标签并将控件拖动到持有标签的视图(在您的案例视图中为 ViewController),您将看到弹出窗口,然后选择相等的宽度
现在你的标签的宽度等于你的视图的宽度:)这并不是你希望你的标签宽度是你的视图的 70%。因此选择标签的相等约束,转到属性检查器并将乘数更改为0.7
现在您的标签宽度是您视图的 70%!
但你不希望它总是 70%。它最多可以占屏幕的 70%,因此现在将约束关系从等于更改为小于或等于。
选择标签并将行数更改为 0。
就是这样:) 玩得开心:)
样本操作数:
当文本短与长时:
编辑:
不使用故事板?没问题;以编程方式编写相同的约束并将其应用到足够简单的标签上。如果您需要帮助,请告诉我:)
编辑:
由于您已指定要在标签中每行的开头保留间隙,因此可以通过使用边缘插入来实现
- (void)drawTextInRect:(CGRect)rect {
UIEdgeInsets insets = {0, 5, 0, 0};
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5399 次 |
| 最近记录: |