Есть ли что-то похожее на viewDidLoad
of UIViewController
для a UIView
???
Мне нужно получить уведомление, как только загрузится 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).