【问题标题】:How to make UILabel wordwrap如何制作 UILabel 自动换行
【发布时间】:2011-06-05 07:43:23
【问题描述】:

有没有办法让 UILabel 换行到下一行,还是我必须使用 UITextView?

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    您需要将numberOfLines 属性设置为0 并明确指定其尺寸,无论是在IB 中还是以编程方式。但是,如果要显示大量文本,我建议使用 UITextView。

    【讨论】:

    • numberOfLines 设置为0UILabel 将被填充文本,受宽度和高度限制。它不会创建新行并自动扩展宽度/高度。宽度/高度必须明确设置以适应文本的大小
    • 动态调整标签大小,请看我的回答和这个帖子:stackoverflow.com/a/8796896/662605
    • 还必须将 UILabel 上的 lineBreakMode 属性设置为 Swift 中的 NSLineBreakMode.ByWordWrapping 和 Objective-C 中的 UILineBreakModeWordWrap
    • 你是什么意思明确指定它的尺寸与 IB?我可以只在视图中设置宽度还是还需要指定其他内容?
    【解决方案2】:

    您想要的是根据内容的大小调整标签。

    在 iOS 6 中,AutoLayout 会发挥作用,你应该将标签设置为 numberOfLines = 0

    在非 AutoLayout 场景中,您还需要确保调整 UILabel 的框架以显示下一行的内容。

    请查看此答案和示例代码:https://stackoverflow.com/a/8796896/662605

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 1970-01-01
      • 2015-09-12
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多