Изменить размер шрифта Uibutton в зависимости от состояния выбора - PullRequest
0 голосов
/ 09 января 2019

Я знаю, что мы можем изменить размер шрифта с помощью инструкции ниже.

button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)

button.setBackgroundColor(color: UIColor.white, forState: .selected)
button.setBackgroundColor(color: UIColor.clear, forState: .normal)

Я сделал расширение настройки backgroundcolor.

В любом случае, я могу сделать то же самое для размера шрифта.

Дело в том, что у меня есть несколько кнопок и я хочу знать, возможен ли такой подход.

Ответы [ 3 ]

0 голосов
/ 09 января 2019

Есть очень «странный» способ, которым я обычно пользуюсь, это добавить UILabel внутри UIButton, поскольку UIButton наследуется от UIView, так что вы можете легко добавить UILabel внутри, с настроенным шрифтом, единственное, что вам понадобится выровнять, но вы можете легко использовать привязку к этому. Будет работать как шарм, вы даже можете создать расширение для этого, как

extension: UIButton {
    func addCustomFont() {
        // Implementation, like self.addSubview( < UILabel >)
    }
}
0 голосов
/ 09 января 2019

Конечно. Звоните setAttributedTitle(_:for:) для ваших разных штатов. Приписанное название включает информацию о шрифте и размере

0 голосов
/ 09 января 2019

Нет конкретного метода или свойства для изменения шрифта UIButton. Однако мы можем изменить его в методе действия кнопки, как показано ниже.

@IBAction func buttonTapped(_ sender: UIButton) {
    if sender.isSelected {
        sender.titleLabel.font = UIFont(name: "SELECT_FONT", size: "SELECT_FONT_SIZE")
    } else {
        sender.titleLabel.font = UIFont(name: "YOUR_FONT", size: "FONT_SIZE")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...