Я использую NSAttributedString
, чтобы сделать раздел UILabel
полужирным шрифтом, и я смотрел, как я могу масштабировать шрифт в разных классах.Масштабирование NSAttributedString с классами размеров в iOS
Единственный способ, которым я могу себе видеть, чтобы сделать это, чтобы использовать существующий размер шрифта метки при добавлении атрибута:
CGFloat fontSize = self.label.font.pointSize;
NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:@"Abc Abc"];
[string addAttribute:NSFontAttributeName
value:[UIFont boldSystemFontOfSize:fontSize]
range:NSMakeRange(0,3)];
self.label.attributedText = string;
Для уточнения:label
является UILabel
обычным шрифтом системы , а атрибутная строка используется, чтобы сделать первые 3 буквы полужирным.
Это работает достаточно хорошо, но связывает создание атрибутной строки с меткой. Есть ли способ масштабировать присланную строку, не зная размер шрифта спереди?
Я использую атрибутированные помехи все время, и я никогда не объявляю шрифт для UILabel при создании метки, если я использую атрибутированную строку. Я не уверен, что понимаю, что вы делаете, поскольку метка меняет размер на атрибутную строку, пока вы не устанавливаете размер шрифта или обычный текст в строку – Loxx
. Я добавил пояснение ниже этого примера. UILabel имеет обычный шрифт, и я хочу сделать его частью жирным шрифтом, который я не думаю, что могу сделать в iOS без установки всего атрибута шрифта. –
О, я вижу, да, поэтому вы либо используете атрибут AttributedString для установки текста, либо вы устанавливаете текст только обычным способом. Я никогда не делал этого как «половину и половину» операции, если вы не устанавливаете что-либо для метки, но вы просто устанавливаете свойство attributedText, тогда метка меняет размер так, как должна, я могу показать вам пример с отладчиком что является ОГРОМНЫМ и использует тонну атрибутных свойств строки, а затем записывает шрифт UILabel, который соответствует шрифту атрибута, если вы хотите его увидеть. Дай мне знать. – Loxx