美文网首页
视图生命周期

视图生命周期

作者: Angelia_ | 来源:发表于2016-03-08 10:07 被阅读30次
    //1. 初始化方法
    //第一个参数:nibNameOrNil 可视化文件的名称
    //第二个参数:nibBundleOrNil 当前的包名
    -(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    
        if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
            NSLog(@"%s--%d",__FUNCTION__,__LINE__);
        }
    
        return self;
    }
    //2.加载视图
    #warning --如果要重写loadView方法,必须指定根视图
    -(void)loadView{
        
        //重写loadView需要指定一个根视图
        LoginView * view = [[LoginView alloc]initWithFrame:[UIScreen mainScreen].bounds];
        view.backgroundColor = [UIColor yellowColor];
        self.view = view;
        
        NSLog(@"%s--%d",__FUNCTION__,__LINE__);
    }
    
    //3.视图已经被加载 视图控制器
    - (void)viewDidLoad{
        
        [super viewDidLoad];
    
        UIView *backView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 100)];
        backView.backgroundColor = [UIColor blackColor];
        backView.tag = 666;
        [self.view addSubview:backView];
           
        
        // 默认颜色为透明色 一般设为白色
        // 设置背景色
    //    self.view.backgroundColor = [UIColor whiteColor];
        
        NSLog(@"%s-- %d",__FUNCTION__,__LINE__);
        // Do any additional setup after loading the view.
    }
    
    //4.视图即将显示
    -(void)viewWillAppear:(BOOL)animated{
    
        [super viewWillAppear:animated];
        NSLog(@"%s",__FUNCTION__);
    }
    
    //5. 视图已经出现
    -(void)viewDidAppear:(BOOL)animated{
    
        [super viewDidAppear:animated];
        NSLog(@"%s",__FUNCTION__);
    
    }
    //6. 视图即将消失
    -(void)viewWillDisappear:(BOOL)animated{
    
        [super viewWillDisappear:animated];
        NSLog(@"%s--%d",__FUNCTION__,__LINE__);
    }
    //7. 视图已经消失
    -(void)viewDidDisappear:(BOOL)animated{
        
        [super viewDidAppear:animated];
        NSLog(@"%s--%d",__FUNCTION__,__LINE__);
    }
    //8. 视图消失
    - (void)dealloc
    {
        NSLog(@"%s--%d",__FUNCTION__,__LINE__);
    }
    
    // 模拟器-->硬件-->内存警告
    
    // 内存警告
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // 之前的写法
        if ([self isViewLoaded] == YES && nil == self.view.window) {
            self.view = nil;
        }
        // Dispose of any resources that can be recreated.
    }
    
    

    相关文章

      网友评论

          本文标题:视图生命周期

          本文链接:https://www.haomeiwen.com/subject/llajkttx.html