Какао - iOS - Для обновления свойства text UILabel требуется setNeedsDisplay?

Я новичок, и у меня есть проект iOS, где я устанавливаю свойство text поля UILabel.

self.nameLabel.text = @"abcd";

Вопрос

  • Нужно ли вызывать setNeedsDisplayInRect для метки для отображения нового текстового значения?

Мое понимание основано на некотором тестировании:

  • Без вызова setNeedsDisplayInRect текст метки был обновлен,
  • но я хочу знать, было ли это совпадением или гарантируется, что метка будет отображать новое значение без явного вызова setNeedsDisplay

Спасибо

2 ответа

Решение

UILabel будет делать все необходимое для обновления, когда вы установите его text имущество. То же самое для других его свойств (font, textColorи т. д.) Единственное, что вам нужно сделать вручную (если вы не используете IB), это установить frame,

Если метка не обновляется, несмотря на текстовое обновление, ваш ЦП может быть полностью загружен, и следующая команда принудительно обновит:

self.nameLabel.text = @"abcd";
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
Другие вопросы по тегам