UILabel - Wordwrap文本

Cod*_*ezy 149 iphone cocoa-touch word-wrap uilabel ios

有没有办法根据需要制作标签自动换行文字?我将换行符设置为自动换行并且标签足够高以容纳两行,但看起来它只会换行换行符.我是否必须添加换行符才能使其正确包装?如果它不能水平放置,我只想要它包装.

Ken*_*ner 292

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

如果您正在编辑UILabelIB中的一个,则可以通过按option+ return 来输入多行文本以获得换行符 - return单独将完成编辑.

  • 为了澄清像我这样的新手,这将是:cell.textLabel.numberOfLines = 0; cell.textLabel.lineBreakMode = UILineBreakModeWordWrap; (123认同)
  • 在iOS 6及更高版本中,使用`NSLineBreakByWordWrapping`,而不是'UILineBreakModeWordWrap`. (46认同)
  • 对于那些不明显的人(像我一样):UILabel必须对其宽度有某种限制(来自实际的宽度约束或边缘约束); 否则它不会换行. (8认同)
  • 在swift中```label.lineBreakMode = .ByWordWrapping```和```label.numberOfLines = 0``` (5认同)
  • 您可能还需要以下内容:label.autoresizingMask = UIViewAutoresizingFlexibleHeight; (3认同)
  • label.lineBreakMode = .byWordWrapping in swift 3 (2认同)

Gre*_*reg 26

UILabel有一个属性lineBreakMode,您可以根据您的要求设置.

  • "我将换行设置为自动换行".这只包含在实际的换行符上,一旦它变长,它就不会自动断开. (11认同)

Nat*_*han 19

在Swift中你会这样做:

    label.lineBreakMode = NSLineBreakMode.ByWordWrapping
    label.numberOfLines = 0
Run Code Online (Sandbox Code Playgroud)

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