如何在UIlabel中显示x raise to y

时间:2011-12-13 12:36:08

标签: iphone ios4 nsstring uilabel

如何在iphone中显示5提升到1/3,即我想要1/3写在5以上,任何人都可以帮助

3 个答案:

答案 0 :(得分:3)

我找到了这个解决方案,希望这对你有所帮助。

UILabel中y的幂可能很容易。只需用unicode上标字符替换索引...我使用以下方法将整数转换为带有上标字符的字符串。

+(NSString *)convertIntToSuperscript:(int)i 
{
    NSArray *array = [[NSArray alloc] initWithObjects:@"⁰", @"¹", @"²", @"³", @"⁴", @"⁵", @"⁶", @"⁷", @"⁸", @"⁹", nil];
    if (i >= 0 && i <= 9) {
        NSString *myString = [NSString stringWithFormat:@"%@", [array objectAtIndex:i]];
        [array release];
        return myString;
    }
    else {
        NSString *base = [NSString stringWithFormat:@"%i", i];
        NSMutableString *newString = [[NSMutableString alloc] init];
        for (int b = 0; b<[base length]; b++) {
            int temp = [[base substringWithRange:NSMakeRange(b, 1)] intValue];
            [newString appendString:[array objectAtIndex:temp]];
        }
        [array release];
        NSString *returnString = [NSString stringWithString:newString];
        [newString release];
        return returnString;
    }    
}

答案 1 :(得分:2)

试试这个NSString * cmsquare = @“cm \ u00B2”; 它将显示cm²。

答案 2 :(得分:0)

是的,你可以这样做,但你需要自定义UILabel,或者自己制作或者让它开源......