gpt4 book ai didi

ios - 在 UILabel 中显示分数

转载 作者:行者123 更新时间:2023-11-28 18:09:42 24 4
gpt4 key购买 nike

我正在开发必须在标签上显示分数的应用程序。

NSMutableAttributedString   * hogan = [[NSMutableAttributedString alloc] initWithString:self.toValue];
[hogan setAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"DINPro-Bold" size:11.0]} range:NSMakeRange(9,6)];
UILabel *fal = [[UILabel alloc] initWithFrame:CGRectMake(100,12, 150.0, 50)];
fal.text = @"";
fal.textColor = [UIColor whiteColor];

fal.backgroundColor = [UIColor redColor];
fal.font = [UIFont fontWithName:@"DINPro-Bold" size:18.0];



fal.attributedText=hogan;
[self addSubview:fal];

这段代码的输出是 1/5。我想这样展示⅕。

我试过使用属性字符串,但它不起作用。

谁能帮帮我

提前致谢。

最佳答案

我创建了以下两个辅助函数,它们将以下标或上标格式返回给定数字 (0-9) 的 unicode 字符串:

-(NSString *)superscript:(int)num {

NSDictionary *superscripts = @{@0: @"\u2070", @1: @"\u00B9", @2: @"\u00B2", @3: @"\u00B3", @4: @"\u2074", @5: @"\u2075", @6: @"\u2076", @7: @"\u2077", @8: @"\u2078", @9: @"\u2079"};
return superscripts[@(num)];
}

-(NSString *)subscript:(int)num {

NSDictionary *subscripts = @{@0: @"\u2080", @1: @"\u2081", @2: @"\u2082", @3: @"\u2083", @4: @"\u2084", @5: @"\u2085", @6: @"\u2086", @7: @"\u2087", @8: @"\u2088", @9: @"\u2089"};
return subscripts[@(num)];
}

一旦你声明了这些,你就可以很容易地调用这样的东西:

NSLog(@"%@/%@", [self superscript:5], [self subscript:6]);

这将输出以下内容:

⁵/₆

甚至还有来 self 的普通 UILabel 的屏幕截图:

From the simulator

编辑

这是一个适用于任何分数的函数,包括 37/100,例如:

-(NSString *)fraction:(int)numerator denominator:(int)denominator {

NSMutableString *result = [NSMutableString string];

NSString *one = [NSString stringWithFormat:@"%i", numerator];
for (int i = 0; i < one.length; i++) {
[result appendString:[self superscript:[[one substringWithRange:NSMakeRange(i, 1)] intValue]]];
}
[result appendString:@"/"];

NSString *two = [NSString stringWithFormat:@"%i", denominator];
for (int i = 0; i < two.length; i++) {
[result appendString:[self subscript:[[two substringWithRange:NSMakeRange(i, 1)] intValue]]];
}
return result;
}

调用以下内容:

NSLog(@"%@", [self fraction:37 denominator:100]);

记录 ³⁷/₁₀₀

关于ios - 在 UILabel 中显示分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30859359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com