集中UIButton的标题,如Swift中的Image下所示
我想要显示button标题这样
但是我的输出即使在集中标题之后也是如此
frmbtn是button的出口而我使用的代码是这样的
frmbtn.setTitle("From Station\nSTN\nSTATION NAME", forState: UIControlState.Normal) frmbtn.titleLabel!.numberOfLines = 3 frmbtn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center
我们可以在button标题中放入不同的文字大小吗?
这是完整的,你想要的。
import UIKit class ViewController: UIViewController { @IBOutlet var button: UIButton! override func viewDidLoad() { super.viewDidLoad() var str : NSMutableAttributedString = NSMutableAttributedString(string: "From station\nSTN\nStation Name") str.addAttribute(NSFontAttributeName, value: UIFont.systemFontOfSize(20), range: NSRange(location: 13,length: 3)) button.setAttributedTitle(str, forState: UIControlState.Normal) button.titleLabel!.lineBreakMode = .ByWordWrapping button.titleLabel?.textAlignment = .Center button.titleLabel?.adjustsFontSizeToFitWidth = true } }
在简单的方法,你也可以给这样的空间:
frmbtn.setTitle("From Station\n STN\nSTATION NAME", forState: UIControlState.Normal) \\give here space after \n and see the result frmbtn.titleLabel!.numberOfLines = 3 frmbtn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center
您必须在titleLabel
本身上设置文本alignment方式。 您也可以将字体大小更改为font
属性的一部分。
scanButton.titleLabel!.numberOfLines = 3 scanButton.titleLabel!.textAlignment = NSTextAlignment.Center; scanButton.titleLabel!.font = UIFont.systemFontOfSize(40);
要在UIButton上设置多行标题, 请查看此论坛post,其中描述了更改button标签。
myButton.titleLabel.textAlignment = UITextAlignmentCenter; myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap; [myButton setTitle:@"From Station STN station name" forState:UIControlStateNormal];