【问题标题】:2 line text UIButton2 行文本 UIButton
【发布时间】:2015-03-26 14:15:48
【问题描述】:

我有一个 UIButton,按钮的文本由随机发生器填充。 但是我的问题是,有时文本中的字符数太多,导致按钮现在显示整个文本。

是否可以检查字符是否太多,然后将其余文本放到另一个文本行?所以基本上必须为 UIButton 输入文本行而不是一个?

【问题讨论】:

    标签: ios objective-c iphone swift uibutton


    【解决方案1】:

    Objectivc-C

    button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
    button.titleLabel.numberOfLines = 2;
    button.titleLabel.textAlignment = NSTextAlignmentCenter; // if u need
    

    别用这个

    button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
    button.titleLabel.textAlignment = NSTextAlignmentCenter;
    [button setTitle: @"Line1\nLine2" forState: UIControlStateNormal];
    

    斯威夫特

    button.titleLabel!.lineBreakMode = .ByWordWrapping
    button.titleLabel!.numberOfLines = 2
    button.titleLabel!.textAlignment = .Center
    

    别用这个

    button.titleLabel!.lineBreakMode = .ByWordWrapping
    button.titleLabel!.textAlignment = .Center
    button.setTitle("Line1\nLine2", forState: .Normal)
    

    Swift3

    buttonName.titleLabel!.lineBreakMode = .byWordWrapping
    buttonName.titleLabel!.textAlignment = .center
    buttonName.setTitle("Line1\nLine2", for: .normal)
    

    【讨论】:

    • 如果您需要超过 2 行,请使用 numberOfLines = 0,祝您有美好的一天
    【解决方案2】:

    在 Interface Builder 中,将 UIButton 控件的 Line Break 模式更改为 Word Wrap

    为了使文本居中,将标题设为 Attributed 而不是 Plain。

    【讨论】:

      【解决方案3】:

      假设您使用的是故事板或 .xib 文件,请单击您的按钮并打开右侧的属性检查器,然后在按钮部分中,查找“换行符”字段。将其下拉,您将看到 2 个选项(以及其他选项) - 'Character wrap' 和 'Word wrap',它们提供了您所追求的功能。

      或者在代码中,您可以使用以下之一

      [BUTTON setLineBreakMode:NSLineBreakByWordWrapping]
      [BUTTON setLineBreakMode:NSLineBreakByCharWrapping]
      

      【讨论】:

        【解决方案4】:

        当使用自动布局而不是自动换行时,我遇到了 UILabel 增长的问题。解决方案是设置 preferredMaxLayoutWidth 以强制它换行。

        对于按钮,您可以使用以下方法执行相同的操作:

        button.titleLabel.preferredMaxLayoutWidth = <max width required>.
        

        【讨论】:

          猜你喜欢
          • 2011-12-11
          • 1970-01-01
          • 2015-08-21
          • 2012-07-10
          • 2016-05-16
          • 1970-01-01
          • 1970-01-01
          • 2010-10-10
          • 2011-11-30
          相关资源
          最近更新 更多