对于不变的部分(即“奖金分数:(+7%)”)和变化的部分(例如“247,890”),我有单独的文本对象。由于它们是分开的,我想在不变的部分留出空间来显示数字。
我首先尝试的是:
NSString* numberString = @"247,890";
NSString* blankScore = [@"" stringByPaddingToLength:[numberString length] withString: @" " startingAtIndex:0];
NSString* baseDisplay = [NSString stringWithFormat:@"BONUS SCORE: %@ (+7%%)", blankScore];
'blankScore' 是正确的长度,但生成的 baseDisplay 似乎修剪了 blankScore 周围的空间,使其空间对于显示的数字来说太小了。
接下来我尝试了另一种创建blankScore的方法:
NSString* blankScore = [numberString stringByReplacingCharactersInRange:NSMakeRange(0, [numberString length]) withString:@" "];
但这返回了一个长度为 1 的 blankScore。
我是否错误地理解了这些 NSString 方法?我检查了文档,似乎我对这些方法的理解与那里写的一致,但我仍然不明白为什么我不能让我的 baseDisplay 拥有正确数量的空格。