集中UIButton的标题,如图片下方Swift

时间:2015-05-30 06:51:45

标签: ios swift uibutton text-alignment

我想像这样显示Button标题

但即使集中了标题

,我的输出仍然是这样的

 frmbtn是按钮的出口而我正在使用的代码是

 frmbtn.setTitle("From Station\nSTN\nSTATION NAME", forState: UIControlState.Normal)

    frmbtn.titleLabel!.numberOfLines = 3
    frmbtn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center

我们可以在按钮标题中添加不同的文字大小吗?

4 个答案:

答案 0 :(得分:4)

这是你想要的整体。

enter image description here

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

    }
}

答案 1 :(得分:3)

以简单的方式你也可以给这样的空间:

 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

答案 2 :(得分:1)

您必须在titleLabel本身设置文本对齐方式。您还可以将字体大小更改为font属性的一部分。

    scanButton.titleLabel!.numberOfLines = 3
    scanButton.titleLabel!.textAlignment = NSTextAlignment.Center;
    scanButton.titleLabel!.font = UIFont.systemFontOfSize(40);

答案 3 :(得分:1)

在UIButton上设置多行标题,check this forum帖子描述了更改按钮标签。

myButton.titleLabel.textAlignment = UITextAlignmentCenter;
myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
[myButton setTitle:@"From Station STN station name" forState:UIControlStateNormal];