我最近在對象中添加了一個方法,該方法負責對我正在使用NSNumberFormatter返回字符串的遊戲進行評分。我剛剛收到了163,930,640
的分數,並且以這種方式顯示在一個地方。但在另一個地方,在文本標籤上,它顯示爲163,930,6...
。我很確定所有的數字都是在主動遊戲中顯示的,但是當它停止更新時,它會切換到有省略號。下面是我如何創建標籤:什麼是NSNumberFormatter添加elipsis?
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,並且標籤放置在放置的位置,所以我可以增加尺寸。另一方面,我將添加一項功能,將標籤移動到更具限制性的空間中。無論如何,我真正想知道的是什麼觸發了elipsis。
我使用的格式是NSNumberFormatterDecimalStyle
。
這不是'NSNumberFormatter'問題,而是'UILabel' lineBreakMode'問題。要麼讓標籤更大,要麼字體更小。 – danielbeard
謝謝。我想我會將'adjustsFontSizeToFitWidth'屬性和'numberOfLines'設置爲1.我還將增加寬度。感謝您指導我使用'UILabel'而不是'NSNumberFormatter'。我正在吠叫錯誤的樹。如果你做出這個答案,我會給你信用。 –
已添加爲答案。 – danielbeard