Bezdepbonusu7Программирование: статьи и ответы

Вопрос

UIView - как получить уведомление, когда представление загружено?

Автор вопроса: aryaxtОтветов: 1

Есть ли что-нибудь похожее на viewDidLoad из UIViewController для _3 _ ??? Мне нужно получить уведомление, как только загрузится UIView (подкласс UIView), и выполнить некоторые действия.

iosiphoneobjective-cuiviewviewdidload

Ответы

Ответ 1 · рейтинг 273 · Costique

В зависимости от того, какие действия вам нужно выполнить, существует несколько приемов:

  1. -(id)initWithFrame:(CGRect)frame - назначенный инициализатор UIView; всегда отправляется в UIView для его инициализации, если только представление не загружается из пера;
  2. -(id)initWithCoder:(NSCoder *)coder - всегда отправляется для инициализации UIView всякий раз, когда представление загружается из пера;
  3. -(void)awakeFromNib - отправляется после того, как все объекты в пике инициализированы и подключены; применимо, только если вы загружаете объект из пера; вы должны позвонить супер;
  4. -(void)willMoveToSuperview:(UIView *)newSuperview - отправляется непосредственно перед добавлением представления в качестве подпредставления к другому представлению; newSuperview может быть нулевым, когда вы удаляете представление из его супервизора;
  5. -(void)willMoveToWindow:(UIWindow *)newWindow - отправляется непосредственно перед добавлением представления (или его супервизора) в окно; newWindow может быть нулевым, когда вы убираете представление из окна;
  6. -(void)didMoveToSuperview - отправляется сразу после вставки представления в иерархию представлений;
  7. -(void)didMoveToWindow - отправляется сразу после того, как представление получает набор свойств окна. -

По сути, вы можете выполнять свои действия во время инициализации (1 и 2), после загрузки из пера (3), перед вставкой в ​​иерархию представлений (4 и 5) и после этого (6 и 7).

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы