Изменить размер шрифта с помощью классов размера
Я использую size classes
в моем storyboard
создать адаптивный макет и у меня есть attributed UILabel
в этом. Теперь я хочу изменить размер шрифта для iPad этих этикеток, но кажется, что size classes
за UILabel
с атрибутивным текстом недоступно в IB
, Так что вопрос в том, как изменить размер шрифта UILabel
с атрибутивной строкой.
1 ответ
В соответствии с Уэс сказал:
Вы должны взглянуть на OHAttributedLabel AliSoftware. Это подкласс UILabel, который рисует NSAttributedString, а также предоставляет удобные методы для установки атрибутов NSAttributedString из классов UIKit.
Из предоставленного в репо образца:
#import "NSAttributedString+Attributes.h"
#import "OHAttributedLabel.h"
/**(1)** Build the NSAttributedString *******/
NSMutableAttributedString* attrStr = [NSMutableAttributedString attributedStringWithString:@"Hello World!"];
// for those calls we don't specify a range so it affects the whole string
[attrStr setFont:[UIFont systemFontOfSize:12]];
[attrStr setTextColor:[UIColor grayColor]];
// now we only change the color of "Hello"
[attrStr setTextColor:[UIColor redColor] range:NSMakeRange(0,5)];
/**(2)** Affect the NSAttributedString to the OHAttributedLabel *******/
myAttributedLabel.attributedText = attrStr;
// Use the "Justified" alignment
myAttributedLabel.textAlignment = UITextAlignmentJustify;
// "Hello World!" will be displayed in the label, justified, "Hello" in red and " World!" in gray.
Примечание: в iOS 6+ вы можете отображать атрибутивные строки, используя свойство attributeText UILabel.
пожалуйста, проверьте этот вопрос для лучшего понимания: -
Iphone / Ipad Nsattributed строка
РЕДАКТИРОВАТЬ
Вы также должны проверить эту ссылку, чтобы изменить размер шрифта. Вы должны изменить его в соответствии с вашими требованиями. например, если вам не нужно динамически, то не используйте метод. bumpFontSize
и т.п.