Có bất cứ điều gì tương tự như viewDidLoad
của UIViewController
cho a UIView
??? Tôi cần được thông báo ngay sau khi UIView
tải xong (Lớp con của UIView
) và thực hiện một số hành động.
Câu trả lời:
Tùy thuộc vào loại hành động bạn cần thực hiện, có một số kỹ thuật:
-(id)initWithFrame:(CGRect)frame
- Trình khởi tạo được chỉ định của UIView; luôn được gửi đến một UIView để khởi tạo nó, trừ khi chế độ xem được tải từ một nib;-(id)initWithCoder:(NSCoder *)coder
- luôn được gửi để khởi tạo UIView bất cứ khi nào chế độ xem được tải từ nib;-(void)awakeFromNib
- được gửi sau khi tất cả các đối tượng trong nib được khởi tạo và kết nối; chỉ áp dụng nếu bạn tải đối tượng từ một ngòi; bạn phải gọi là siêu;-(void)willMoveToSuperview:(UIView *)newSuperview
- được gửi ngay trước khi chế độ xem được thêm dưới dạng một chế độ xem phụ vào một chế độ xem khác; newSuperview
có thể là con số không khi bạn xóa chế độ xem khỏi chế độ siêu xem của nó;-(void)willMoveToWindow:(UIWindow *)newWindow
- được gửi ngay trước khi chế độ xem (hoặc chế độ xem siêu tốc của nó) được thêm vào cửa sổ; newWindow
có thể là con số không khi bạn xóa chế độ xem khỏi cửa sổ;-(void)didMoveToSuperview
- được gửi ngay sau khi chế độ xem được chèn vào hệ thống phân cấp chế độ xem;-(void)didMoveToWindow
- được gửi ngay sau khi chế độ xem được đặt thuộc tính cửa sổ của nó. -Về cơ bản, bạn có thể chọn thực hiện các hành động của mình trong quá trình khởi tạo (1 & 2), sau khi tải từ ngòi (3), trước khi chèn vào hệ thống phân cấp chế độ xem (4 & 5) và sau đó (6 & 7).
-(void)willMoveToSuperview:(UIView *)newSuperview
là cách chữa trị cho tất cả các vấn đề của tôi, cảm ơn bạn rất nhiều!