Атрибутивная строка только для изменения размера шрифта, а не имени шрифта - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь присвоить атрибутивный текст метке.Однако я хочу изменить размер, но не хочу указывать имя шрифта, как мне это сделать?

let myAttributedString = NSMutableAttributedString(string: "Some Text",
 attributes: [NSFontAttributeName:UIFont(name: "Georgia",size: 18.0)!])

Ответы [ 3 ]

0 голосов
/ 04 июня 2018

Получить название шрифта из метки.

let myAttributedString = NSMutableAttributedString(string: "Some Text", attributes: [NSFontAttributeName:UIFont(name: label.fontName, size: 18.0)!]) 
0 голосов
/ 04 июня 2018

UIFont имеет метод экземпляра withSize (_:) , возвращает новый шрифт, идентичный текущему шрифту, за исключением указанного размера.

Попробуйте обновить размер шрифта.

let label = UILabel()
label.font = UIFont.systemFont(ofSize: 10)
let labelFont = label.font.withSize(20)

Swift 3:

let myAttributedString = NSMutableAttributedString(string: "Some Text", attributes: [NSFontAttributeName:labelFont])

Swift 4:

let myAttributedString = NSMutableAttributedString(string: "Some Text", attributes: [NSAttributedStringKey.font:labelFont])

enter image description here

0 голосов
/ 04 июня 2018

Вы можете использовать это,

Your_Label.font.withSize(20)

Ваша конечная строка будет,

let myAttributedString = NSMutableAttributedString(string: "Some Text", attributes: [NSFontAttributeName:Your_Label.font.withSize(15)])
...