UIView的生命周期介绍

UIView的生命周期,我们新建了一个TestView
重写了以下方法

@implementation TestView {
    NSInteger _count;
}

- (instancetype)init {
    if (self = [super init]) {
        _count = 0;
        NSLog(@"%@", [NSString stringWithFormat:@"%@ ==> %ld",NSStringFromSelector(_cmd),_count]);
    }
    return self;
}

- (void)layoutSubviews {
    [super layoutSubviews];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

- (void)didAddSubview:(UIView *)subview {
    [super didAddSubview:subview];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}
- (void)willRemoveSubview:(UIView *)subview {
    [super willRemoveSubview:subview];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

- (void)willMoveToSuperview:(nullable UIView *)newSuperview {
    [super willMoveToSuperview:newSuperview];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

- (void)didMoveToSuperview {
    [super didMoveToSuperview];
    
    _count++;
    NSLog(@"%@ ==> %ld,%@",NSStringFromSelector(_cmd),_count,self.superview);
}


- (void)willMoveToWindow:(nullable UIWindow *)newWindow {
    [super willMoveToWindow:newWindow];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

- (void)didMoveToWindow {
    [super didMoveToWindow];
    
    _count++;
    NSLog(@"%@ ==> %ld,%@",NSStringFromSelector(_cmd),_count,self.window);
}

- (void)removeFromSuperview {
    [super removeFromSuperview];
    
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

- (void)dealloc{
    _count++;
    NSLog(@"%@ ==> %ld",NSStringFromSelector(_cmd),_count);
}

然后将TestView添加到ViewController的View上边,然后移除,得到的如下日志


image.png

可以看到,生命周期如上

demo链接:https://github.com/DuffYang/PerfectView

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容