Чи є що - небудь схоже на viewDidLoad
про UIViewController
для UIView
??? Мені потрібно повідомити, як тільки a UIView
завантажиться (підклас UIView
), і виконати деякі дії.
Відповіді:
Залежно від того, який вид дій вам потрібно виконати, існує кілька прийомів:
-(id)initWithFrame:(CGRect)frame
- призначений ініціалізатором UIView; завжди надсилається в UIView для його ініціалізації, якщо тільки вигляд не завантажується з перо;-(id)initWithCoder:(NSCoder *)coder
- завжди відправляється для ініціалізації UIView кожного разу, коли подання завантажується з перо;-(void)awakeFromNib
- відправляється після того, як усі об'єкти в перові ініціалізовані та з'єднані; застосовний лише в тому випадку, якщо ви завантажуєте об’єкт з перо; ви повинні зателефонувати супер;-(void)willMoveToSuperview:(UIView *)newSuperview
- надсилається безпосередньо перед тим, як подання буде додано як підпрогляд до іншого представлення; newSuperview
може бути нульовим, якщо ви видалите подання з його супервигляду;-(void)willMoveToWindow:(UIWindow *)newWindow
- надсилається безпосередньо перед тим, як подання (або його суперпрогляд) буде додано у вікно; newWindow
може бути нульовим, якщо ви видалите подання з вікна;-(void)didMoveToSuperview
- надсилається відразу після того, як подання вставляється в ієрархію подання;-(void)didMoveToWindow
- надсилається відразу після того, як подання отримує властивість вікна. -В основному, ви можете виконати свої дії під час ініціалізації (1 і 2), після завантаження з наконечника (3), до вставки в ієрархію подання (4 і 5) і після цього (6 і 7).
-(void)willMoveToSuperview:(UIView *)newSuperview
було ліками від усіх моїх проблем, велике спасибі!