我有一个UILabel,我以编程方式更新了text
或attributedText
属性。在某些情况下,我想把它用斜体。我可以:
A)设置UILabel.font
属性:
myLabel.font = [UIFont italicSystemFontOfSize: 12.0];
B)或使用属性字符串做类似的事情:
myLabel.attributedText = [[NSAttributedString alloc] initWithString: @"my text" attributes: @{NSFontAttributeName: [UIFont italicSystemFontOfSize: 12.0]}]]
但我不想关心它的大小。我只想要“默认”字体和大小,但用斜体字。目前,我实际上使用的是倾斜属性:
NSMutableAttributedString *text = [[NSMutableAttributedString alloc]
initWithString: @"My Text"
attributes: @{NSObliquenessAttributeName: @(0.5)}];
myLabel.attributedText = text;
这使得我不必关心任何大小,但我认为倾斜度只是斜体。
答案 0 :(得分:6)
您可以使用[UIFont systemFontSize]
。
myLabel.attributedText = [[NSAttributedString alloc]
initWithString: @"my text"
attributes: @{
NSFontAttributeName: [UIFont italicSystemFontOfSize:
[UIFont systemFontSize]]}]];
此外,还有更多选择可供选择:
+ (CGFloat)labelFontSize;//Returns the standard font size used for labels.
+ (CGFloat)buttonFontSize;//Returns the standard font size used for buttons.
+ (CGFloat)smallSystemFontSize;//Returns the size of the standard small system font.
+ (CGFloat)systemFontSize;//Returns the size of the standard system font.
答案 1 :(得分:2)
另一种选择是直接从标签字体读取磅值。
myLabel.font = [UIFont italicSystemFontOfSize:myLabel.font.pointSize];
myLabel.attributedText = [[NSAttributedString alloc] initWithString: @"my text" attributes: @{NSFontAttributeName: [UIFont italicSystemFontOfSize:myLabel.font.pointSize]}];