zoukankan      html  css  js  c++  java
  • UI3_UIViewController生命周期

    //
    //  SecondViewController.h
    //  UI3_UIViewController生命周期
    //
    //  Created by zhangxueming on 15/7/2.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface SecondViewController : UIViewController
    
    @end
    
    
    
    //
    //  SecondViewController.m
    //  UI3_UIViewController生命周期
    //
    //  Created by zhangxueming on 15/7/2.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "SecondViewController.h"
    
    @interface SecondViewController ()
    
    @end
    
    @implementation SecondViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
        btn.frame = CGRectMake(50, 400, self.view.frame.size.width-100, 50);
        btn.backgroundColor = [UIColor whiteColor];
        
        [btn setTitle:@"视图模式跳转-First" forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        
        self.view.backgroundColor = [UIColor cyanColor];
    }
    
    - (void)btnClicked
    {
        if ([self.view superview]) {
            NSLog(@"123");
            [self.view superview].backgroundColor=[UIColor redColor];
            
            [self.view removeFromSuperview];
        }
        //使消失当前视图控制器视图
        //[self dismissViewControllerAnimated:YES completion:nil];
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    /*
    #pragma mark - Navigation
    
    // In a storyboard-based application, you will often want to do a little preparation before navigation
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        // Get the new view controller using [segue destinationViewController].
        // Pass the selected object to the new view controller.
    }
    */
    
    @end
    
    //
    //  ViewController.m
    //  UI3_UIViewController生命周期
    //
    //  Created by zhangxueming on 15/7/2.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "SecondViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    //视图控制器
    
    //当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序
    //1、 alloc                                   创建对象,分配空间
    //2、init (initWithNibName) 初始化对象,初始化数据
    //3、loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
    //4、viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件
    //5、viewWillAppear              视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
    //6、viewDidAppear               视图已在屏幕上渲染完成
    //当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
    //1、viewWillDisappear            视图将被从屏幕上移除之前执行
    //2、viewDidDisappear             视图已经被从屏幕上移除,用户看不到这个视图了
    //3、dealloc                           视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
    
    - (void)loadView
    {
        [super loadView];
        NSLog(@"开始加载视图");
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"视图加载完成");
        // Do any additional setup after loading the view, typically from a nib.
        //UIViewController
        
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
        btn.frame = CGRectMake(50, 100, self.view.frame.size.width-100, 50);
        btn.backgroundColor = [UIColor whiteColor];
        
        [btn setTitle:@"视图模式跳转-Second" forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        
        self.view.backgroundColor= [UIColor redColor];
    }
    
    - (void)btnClicked
    {
        SecondViewController *svc = [[SecondViewController alloc] init];
        
        //设置跳转模式
        //UIModalTransitionStylePartialCurl 翻页效果
        svc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
        //显示视图控制器中的view
        
        [self presentViewController:svc animated:YES completion:nil];
    }
    
    //视图将要显示
    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        NSLog(@"Appering 视图将要显示");
    }
    
    //视图已经显示
    - (void)viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
        NSLog(@"Appeared 视图已经显示");
    }
    
    //视图将要消失
    - (void)viewWillDisappear:(BOOL)animated
    {
        NSLog(@"Disappearing 视图将要消失");
    }
    //视图已经消失
    - (void)viewDidDisappear:(BOOL)animated
    {
        NSLog(@"Disappeared 视图消失");
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    
  • 相关阅读:
    通达OA二次开发
    通达OA 工作流程 表单设计 高级应用
    PLSQL Develop PlugIn 之脚本自动匹配补全工具CnPlugin
    Oracle性能优化之SQL语句
    Linux重置root密码步骤
    ORA-03113:通信通道的文件结尾解决
    Bat脚本实现MySQL数据库SQL文件备份
    访问父级组件实例
    访问根实例
    插槽其它示例
  • 原文地址:https://www.cnblogs.com/0515offer/p/4638573.html
Copyright © 2011-2022 走看看