我试图让我的标签看起来像这样:
但是使用属性字符串,我设法得到了这个结果:
我的代码:
NSString *string = [NSString stringWithFormat:@"%0.2f",ask];
NSMutableAttributedString *buyString = [[NSMutableAttributedString alloc] initWithString:string];
[buyString addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:15.0]
range:NSMakeRange(2, buyString.length - 2)];
self.labelBuy.attributedText = buyString;
如你所见,点后面的数字,保持在下面,我想把它们作为第一个例子弹出顶部。 有没有办法设置属性字符串框架?
答案 0 :(得分:5)
您必须使用NSBaselineOffsetAttributedName
。
来自doc:
NSBaselineOffsetAttributeName
该属性的值为NSNumber
对象包含指示的浮点值 角色与基线的偏移量,以磅为单位。默认值为 0.
适用于iOS 7.0及更高版本。
从你的例子:
[buyString addAttribute:NSBaselineOffsetAttributeName
value:@(10.0)
range:NSMakeRange(2, buyString.length - 2)];
您可能需要更改值以满足您的需求。
答案 1 :(得分:0)
为什么不实际使用上标?您必须首先#import“CoreText / CoreText.h”
[buyString addAttribute:(NSString *)kCTSuperscriptAttributeName
value:@1
range:NSMakeRange(2, buyString.length - 2)];