Какао - iOS - Для обновления свойства text UILabel требуется setNeedsDisplay? - PullRequest
1 голос
/ 24 февраля 2012

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

self.nameLabel.text = @"abcd";

Вопрос

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

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

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

Спасибо

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

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

0 голосов
/ 06 апреля 2016

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

self.nameLabel.text = @"abcd";
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
...