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

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

Ответ 1

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

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

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