我最近向对象添加了一个方法,该方法负责对我正在开发的游戏进行评分,以使用 NSNumberFormatter 返回一个字符串。我刚刚收到 的分数163,930,640
,它以这种方式显示在一个地方。但在另一个地方,在文本标签上,它显示为163,930,6...
. 我很确定在玩游戏期间所有数字都显示了,但是当它停止更新时它切换为省略号。这是我创建标签的方式:
self.scoreLabel = [[UILabel alloc] init];
self.scoreLabel.hidden = YES;
self.scoreLabel.text = @"0";
self.scoreLabel.frame = [self scoreFrame];
self.scoreLabel.textAlignment = NSTextAlignmentCenter;
self.scoreLabel.backgroundColor = [UIColor clearColor];
self.scoreLabel.font = [UIFont fontWithName:@"Marker Felt" size:36.0];
[self.scoreLabel setTextColor:[UIColor greenColor]];
[self.solutionBackgroundView addSubview:self.scoreLabel];
问题可能是帧(在未显示的方法中设置为 200)太小吗?我可以更改 scoreFrame 以使用更大的帧进行初始化,但我不知道最大值是多少,所以我不知道合适的大小是多少。
我将如何适当调整其大小以适应未知大小?分数每秒更新 10 次,所以我不确定使用 sizeToFit 是否是正确的解决方案。我想因为我使用的是 textAlignmentCenter,并且标签在放置的位置居中,所以我可以增加大小。另一方面,我将添加一个功能,将标签移动到更严格的空间。无论如何,我真正想知道的是什么触发了省略号。
我使用的格式是NSNumberFormatterDecimalStyle
.