Хорошо, заканчивая тем, что отвечал на мой собственный вопрос, но я надеюсь, что это кому-нибудь пригодится:).
Я не нашел никакой ценной и подробной информации о производительности UILabel (что очень плохопотому что мне интересно кое-что узнать об этом), но я нашел альтернативу, которая CATextLayer
.
Я создаю CATextLayer
:
_textLayer = [CATextLayer new];
_textLayer.frame = CGRectMake(0.0f, _degreesLabelView.frame.size.height*0.5f - textHeight*0.5f, _degreesLabelView.frame.size.width, textHeight);
_textLayer.backgroundColor = [UIColor clearColor].CGColor;
_textLayer.foregroundColor = [UIColor whiteColor].CGColor;
_textLayer.alignmentMode = kCAAlignmentCenter;
_textLayer.contentsScale = UIScreen.mainScreen.scale;
_textLayer.fontSize = 17.0;
_textLayer.string = @"0°";
[_degreesLabelView.layer addSublayer:_textLayer];
И вот яЯ обновляю текст:
- (void)tiltUpdated:(float)tilt
{
_textLayer.string = [NSString stringWithFormat:@"%.1f°", tilt];
}
Также CATextLayer является своего рода «анимацией» изменений текста с небольшим «fadeIn / fadeOut», и мне это нравится:)