界面生成器中的 iOS 多行标签
如何在 iOS 界面生成器中制作多行 UILabel
?我尝试了 UITextView
但它不太适合我的需求。
如何在标签中添加多行(文本)?
How can I make a multiline UILabel
in interface builder for iOS? I tried the UITextView
but it didn't quite suit my needs.
How can I add multiline (text) in label?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
您可以使用
numberOfLines
属性来定义标签可以拥有的最大行数。默认情况下,它是1
。将其设置为0
意味着标签将具有无限行。您可以在代码中执行此操作:
或者在 Interface Builder 中:
You can use
numberOfLines
property which defines maximum number of lines a label can have. By default, it's1
. Setting it to0
means the label will have unlimited lines.You can do it in code:
Or in Interface Builder:
点击 Control+Enter 在 Interface Builder/Storyboard 的 UILabel 中添加一行。
Hit Control+Enter to add a line in UILabel in Interface Builder/Storyboard.
谢谢苹果维杰!
还要调用 sizeToFit,如下所示:
将自动计算高度。
Thanks AppleVijay!
Also to call sizeToFit, like this:
The height will be automatically computed.
将标签宽度设置为您需要的小,然后使用 IB 将换行符设置为自动换行
或与这样的代码一起使用
我找到了解决方案。
只需添加以下代码:
set width of label as u needed small then use IB to set line breaks to word wrap
or use with code like this
I found a solution.
One just has to add the following code:
将动态文本信息的行数设置为零,当文本变化时这将很有用。
以编程方式 (Swift 3)
使用 Inetrface Builder
注意:不需要设置
最小字体比例
,但最好有一个最小比例因子以使文本适合标签框架。Set number of lines zero for dynamic text information, it will be useful when your text are varying.
Programatically (Swift 3)
Using Inetrface Builder
Note: It is not required to set
Minimum Font Scale
, but nice to have a minimum scale factor to fit text into label frame.使用普通 UILabels 在 IB 中可以看到行数
将lines字段设置为0。它将根据为标签提供的空间创建多行。
Number of lines is visible in IB with Plain UILabels
set lines field as 0 . It will create multiple lines as per the provided space to the label.
在 iOS7 (Xcode5) 中,您需要将 UILabel 的行设置为
0
以便在 Storyboard 中无限多个输入。最重要的是设置 UILabel 的高度可以容纳您要设置的输入行。
In iOS7 (Xcode5) you shold set the lines of UILabel to
0
for unlimited multiple input in storyboard.The most important is to set the
height of the UILabel
can hold the lines of input you are going to set.如果将 numberOfLines 属性设置为 0,标签将自动调整为给定文本所需的行数。
If you set the numberOfLines property equal to 0, the label will automatically adjust to the required number of lines of the given text.
我已经为此苦苦挣扎了很长一段时间。
我只是想让我的标签文本出现在第二行。但无论我做什么,它都会溢出 UILabel 框。对我来说,改变尺寸检查器中的自动调整大小是有效的。简单修复。
可能有人会发现它对正在寻找类似东西的人很有帮助。
I had been struggling with this for a long time.
I just wanted my label text to appear on the second line. But whatever I do, it would just overflow the UILabel box. For me, changing the autoresizing in size inspector worked. Simple fix.
May be someone might find it helpful who is looking for something similar.
对于 X-Code 7.2
-- 选择 UILabel
-- 属性检查器
-- 文本 - 选择属性
此后您可以看到更多可以添加到标签中的属性,您还可以在其中找到行的数量。这使得您的标签多行。
For X-Code 7.2
-- Select UILabel
-- Attributes inspector
-- Text - Select Attributed
After this you can see some more attribute you can add into you label, in which you can also find number of Lines. Which make your label multiline.