集中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];