我已经能够在我的应用程序成功地标数字做:
static const unichar kSubscriptZero = 0x2080;
int numberOfHydrogens = 2;
NSString *header1 = [NSString stringWithFormat:@"H%CO",
kSubscriptZero + numberOfHydrogens];
问题是这样的:我想这样做与其他字符相同的东西,可以在Unicode字符被找到,但它没有工作,我所得到的是一个方盒子,而不是我的性格,原来这意味着存在不字形我的字体为该字符。 我回顾先前的问题问在这里 ,并试图为这个数字相比其他其他字符:
if (section == whicheverSectionIndexIsCorrect) {
NSString *plainText = @"2H2 + O2 → 2H2O";
id subscriptOffset = @(-0.5); // random guess here, adjust offset as needed
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:plainText];
// apply attributes for each character to subscript
[text addAttribute:(NSString *)kCTSuperscriptAttributeName
value:subscriptOffset
range:NSMakeRange(2, 1)];
[text addAttribute:(NSString *)kCTSuperscriptAttributeName
value:subscriptOffset
range:NSMakeRange(7, 1)];
// etc.
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 64)];
UILabel *label = [[UILabel alloc] init];
label.attributedText = text;
[view addSubview:label];
return view;
}
但我的问题是这样的:如果我改变小数位数subscriptOffset
它根本没有影响(因此-0.1使我有同样的结果-0.9),但是当我改变这个数字从1.0到2.0,等等...我问题是,是太大的跳跃。 我该如何处理这并获得不错的外观标我打算?
更新以下是我目前的状况截图:我需要能够标“T”