Iphone 如何为两个UILabel项获得相同的字符间距
我正在创建一个计算器;为此,我将字体类型设置为“DBLCDTempBlack”。它工作正常。在图像中,标签中的数字位于另一个标签的顶部,底部标签上有文本“88888888”,以此类推,以获得灯光褪色的效果。所以为了达到这个效果,我们需要两个标签在另一个上面。当我试图连续给顶部标签加“1”时,它没有与后面的数字对齐Iphone 如何为两个UILabel项获得相同的字符间距,iphone,objective-c,Iphone,Objective C,我正在创建一个计算器;为此,我将字体类型设置为“DBLCDTempBlack”。它工作正常。在图像中,标签中的数字位于另一个标签的顶部,底部标签上有文本“88888888”,以此类推,以获得灯光褪色的效果。所以为了达到这个效果,我们需要两个标签在另一个上面。当我试图连续给顶部标签加“1”时,它没有与后面的数字对齐 在这种字体类型中,数字2-9,0通常由8组成,因此它们是对齐的。但是当我给出“1”时,字符间距会受到干扰。编辑字体,使1与其他数字的宽度相同,这是应该的。我写了一个小方法,使间距正确,
在这种字体类型中,数字2-9,0通常由8组成,因此它们是对齐的。但是当我给出“1”时,字符间距会受到干扰。编辑字体,使1与其他数字的宽度相同,这是应该的。我写了一个小方法,使间距正确,以便在其中包含1。我不知道这是否是最好的方法,但如果在1之前添加一个空格,除非它是字符串中的第一个字符,否则空格是完美的
- (NSMutableString *)stringForDigitalDisplayFromString:(NSString *)string {
NSMutableString *formattedString = [[NSMutableString alloc] initWithCapacity:10];
for (int i = 0; i < [string length]; i++) {
char character = [string characterAtIndex:i];
//if we have a 1 and it is not the first digit
if (character == '1' && i != 0) {
[formattedString appendString:[NSString stringWithFormat:@" %c",character]];
}
else {
[formattedString appendString:[NSString stringWithFormat: @"%c",character]];
}
}
return formattedString;
}
-(NSMutableString*)stringForDigitalDisplayFromString:(NSString*)字符串{
NSMutableString*formattedString=[[NSMutableString alloc]initWithCapacity:10];
对于(int i=0;i<[字符串长度];i++){
char character=[string characterAtIndex:i];
//如果我们有一个1,它不是第一个数字
如果(字符='1'&&i!=0){
[formattedString appendString:[NSString stringWithFormat:@“%c”,字符]];
}
否则{
[formattedString appendString:[NSString stringWithFormat:@“%c”,字符]];
}
}
返回格式化字符串;
}
如果可能的话,您能否建议阅读一些内容,或者如何在iOS设备上编辑字体,使其与其他数字的宽度相同?