Ios UILabel-换行文字

Ios UILabel-换行文字,ios,iphone,cocoa-touch,uilabel,word-wrap,Ios,Iphone,Cocoa Touch,Uilabel,Word Wrap,是否有任何方法可以根据需要使用标签换行文字?我将换行设置为word wrap,并且标签足够高,可以容纳两行,但它似乎只在换行时换行。我是否必须添加换行符以使其正确包裹?如果它不能水平放置,我只希望它进行包装。如果将numberOfLines设置为0(将标签设置为word wrap),标签将自动包装,并根据需要使用尽可能多的行 如果您在IB中编辑UILabel,您可以通过按option+return输入多行文本以获得换行符-只需return即可完成编辑。UILabel有一个可根据需要设置的属性。在

是否有任何方法可以根据需要使用标签换行文字?我将换行设置为word wrap,并且标签足够高,可以容纳两行,但它似乎只在换行时换行。我是否必须添加换行符以使其正确包裹?如果它不能水平放置,我只希望它进行包装。

如果将
numberOfLines
设置为0(将标签设置为word wrap),标签将自动包装,并根据需要使用尽可能多的行


如果您在IB中编辑
UILabel
,您可以通过按option+return输入多行文本以获得换行符-只需return即可完成编辑。

UILabel
有一个可根据需要设置的属性。

在Swift中,您可以这样做:

    label.lineBreakMode = NSLineBreakMode.ByWordWrapping
    label.numberOfLines = 0

(请注意lineBreakMode常量的工作方式与ObjC中的不同)

Xcode 10,Swift 4

通过选择标签并使用“属性检查器”,也可以在情节提要上包装标签的文本

=0 换行符=换行符


“我已将换行符设置为换行符”。这只会在实际换行符上进行换行,一旦换行符过长,它就不会自动换行;cell.textLabel.lineBreakMode=UILineBreakModeWordWrap;在iOS 6及更高版本中,使用
NSLineBreakByWordWrapping
,而不是
uilinebreakmodewordwrapp
。您可能还需要以下内容:label.autoresizingMask=UIViewAutoresizingFlexibleHeight<代码>label.lineBreakMode=.ByWordWrapping和
label.numberOfLines=0
对于任何对此不明显的人(如我):UILabel的宽度必须有某种限制(来自实际宽度约束或边距约束);否则它就不会包装了。想详细说明一下它的不同吗?我想我的意思是命名不同。它可能在SWIFT3中再次更改换行模式应设置为文字换行default@MobileMonin我的经验并不总是如此。也许IB会在某些情况下更改它?label.lineBreakMode=NSLineBreakByWordWrapping在Obj中使用全新的标签,直接将其添加到视图中,这仍然会为我生成一个单线标签(宽度大于手机的宽度),尽管将lines设置为0,并将linebreak设置为Word wrapp。是否需要其他设置?我需要附加代码吗?