簡體   English   中英

如何在 UIButton 中居中屬性標題

[英]How to center attributed title in UIButton

我正在嘗試將 UIButton 的多行標題居中

我的按鈕:

let aButton: UIButton = {
        let button = UIButton()
        button.titleLabel?.numberOfLines = 0
        button.titleLabel?.textAlignment = .center
        return button
    }()

設置標題我正在使用一種方法,該方法采用字符串和字體大小並返回 NSAttributedString (順便說一句,我無法修改它):

let title = markdownParser.parse(string: "my multiline string", fontSize: 15)

然后我設置按鈕的標題:

aButton.setAttributedTitle(title, for: .normal)

文本仍然左對齊,但是,我做錯了什么? 謝謝

約束設置如下:

addSubview(aButton)
        aButton.snp.makeConstraints { maker in
            maker.center.equalToSuperview()
            maker.leading.trailing.equalToSuperview().inset(16)
        }

這是因為文本是屬性字符串,設置后需要對齊文本。

您的解決方案將是:

aButton.setAttributedTitle(title, for: .normal)
aButton.titleLabel?.textAlignment = .center

通過設置屬性字符串,而不是字符串,您將清除所有按鈕的文本屬性。

更好的解決方案是將 alignment 屬性添加到屬性字符串中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM