Недавно я добавил метод к объекту, который заботится о подсчете в игру, над которой я работаю, чтобы вернуть строку, используя NSNumberFormatter. Я только что получил оценку 163,930,640
, и он отображается таким образом в одном месте. Но в другом месте, на текстовой метке, отображается как 163,930,6...
. Я уверен, что все цифры были отображены во время активного игрового процесса, но он переключился на получение elipsis, когда он переставал быть обновленным. Вот как я создаю ярлык:Что такое 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, а метка сосредоточена там, где она размещена, я мог бы просто увеличить размер. С другой стороны, я добавлю функцию, чтобы переместить ярлык в пространство, которое является более ограничительным. Во всяком случае, то, что я действительно хочу знать, это то, что вызывает эллипсис.
Формат, который я использую, - NSNumberFormatterDecimalStyle
.
Это не проблема 'NSNumberFormatter', а проблема' lineBreakMode' 'UILabel'. Либо сделайте ярлык больше, либо уменьшите шрифт. – danielbeard
Спасибо. Я думаю, что я установил свойство 'adjustsFontSizeToFitWidth' и' numberOfLines' равным 1. Я также немного увеличу ширину. Спасибо, что направили меня на 'UILabel', а не на' NSNumberFormatter'. Я лаял неправильное дерево. Если вы ответите, я дам вам кредит. –
Добавлено как ответ. – danielbeard