行文本到UIButton?

我有以下代码...

UILabel *buttonLabel = [[UILabel alloc] initWithFrame:targetButton.bounds];
buttonLabel.text = @"Long text string";
[targetButton addSubview:buttonLabel];
[targetButton bringSubviewToFront:buttonLabel];

...这个想法是我可以为按钮设置多行文本,但文本总是被UIButton的backgroundImage遮挡。 显示按钮子视图的日志调用显示已添加UILabel,但文本本身无法看到。 这是UIButton中的错误还是我做错了什么?


对于iOS 6及更高版本,请使用以下命令以允许多行:

button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
// you probably want to center it
button.titleLabel.textAlignment = NSTextAlignmentCenter; // if you want to 
[button setTitle: @"Line1nLine2" forState: UIControlStateNormal];

对于iOS 5及以下版本,请使用以下命令以允许多行:

button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
// you probably want to center it
button.titleLabel.textAlignment = UITextAlignmentCenter;
[button setTitle: @"Line1nLine2" forState: UIControlStateNormal];

2017年,对于iOS9转发

一般来说,只要做这两件事情:

  • 选择“Attributed Text”
  • 在“换行符”弹出菜单中选择“换行”

  • 所选的答案是正确的,但如果你喜欢在Interface Builder中做这样的事情,你可以这样做:

    PIC


    对于IOS 6:

    button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
    button.titleLabel.textAlignment = NSTextAlignmentCenter;
    

    UILineBreakModeWordWrap and UITextAlignmentCenter
    

    在IOS 6以后不推荐使用..

    链接地址: http://www.djcxy.com/p/4831.html

    上一篇: line text to a UIButton?

    下一篇: Adjust UILabel height depending on the text