行文本到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转发 ,
一般来说,只要做这两件事情:
所选的答案是正确的,但如果你喜欢在Interface Builder中做这样的事情,你可以这样做:
对于IOS 6:
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
button.titleLabel.textAlignment = NSTextAlignmentCenter;
如
UILineBreakModeWordWrap and UITextAlignmentCenter
在IOS 6以后不推荐使用..
链接地址: http://www.djcxy.com/p/4831.html