問(wèn)題描述
使用NSMutableAttributedString設(shè)置不一樣字體
int a = 50; int b = 10;
NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:@"10元抵現(xiàn)券"];
[attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:a] range:NSMakeRange(0, 2)];
[attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:b] range:NSMakeRange(2, attStr.length - 2)];
// [attStr addAttribute:NSBaselineOffsetAttributeName value:@(0.36 * (a - b)) range:NSMakeRange(2, attStr.length - 2)];
label.attributedText = attStr;
文字不能居中對(duì)齊;如圖:

image.png
解決方法
NSMutableAttributedString 添加NSBaselineOffsetAttributeName這個(gè)Attribute
[attStr addAttribute:NSBaselineOffsetAttributeName value:@(0.36 * (a - b)) range:NSMakeRange(2, attStr.length - 2)];
value = 0.36 * (大字號(hào) - 小字號(hào))
int a = 50;
int b = 10;
NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:@"10元抵現(xiàn)券"];
[attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:a] range:NSMakeRange(0, 2)];
[attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:b] range:NSMakeRange(2, attStr.length - 2)];
[attStr addAttribute:NSBaselineOffsetAttributeName value:@(0.36 * (a - b)) range:NSMakeRange(2, attStr.length - 2)];
label.attributedText = attStr;

image.png