zoukankan      html  css  js  c++  java
  • UI基础--UIViewController

    程序运行时会先走main函数,我们先看一下main函数吧:

    #import <UIKit/UIKit.h>
    #import "AppDelegate.h"
    
    
    //程序的主入口
    int main(int argc, char * argv[]) {
        //自动内存释放池
        @autoreleasepool {
            //UIApplicationMain UIKit框架的启动函数
            //参数1.argc 启动时带有参数的个数
            //p2.argv 参数列表
            //p3.nil 空指针 要求传入一个主框架类对象;如果为nil,系统就会默认的框架作为主框架类名
            //p4.主框架的代理类对象名字
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
    }

    然后会走他的一些协议方法:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
        //创建一个Window对象
        //属于Appdelegate对象
        //
        self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
        self.window.backgroundColor = [UIColor yellowColor];
        
        self.window.rootViewController = [ViewController new];
        
        //window作为主视图并显示;
        [self.window makeKeyAndVisible];
        
        
        return YES;
    }

    在看一下ViewController里面:

    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    //当试图控制器第一次加载的时候被调用
    //布局初始化视图
    - (void)viewDidLoad {
        //调用父类的加载视图的函数
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        self.view.backgroundColor = [UIColor orangeColor];
        
        NSLog(@"viewDidLoad! 第一次加载函数");
    }
    //当程序第一次运行的时候回先走viewDidLoad,并且只会加载一次,当视图在显示的时候就不会走这个方法了,而viewWillAppear视图每次显示都会调用(没有出现在屏幕上)
    -(void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
        NSLog(@"视图将要显示");
    }
    //视图已经在屏幕上显示了
    -(void)viewDidAppear:(BOOL)animated{
        [super viewDidAppear:animated];
        NSLog(@"视图已经显示");
    }
    //视图将要消失(还没有消失,还在屏幕上)
    -(void)viewWillDisappear:(BOOL)animated{
        [super viewWillDisappear:animated];
        NSLog(@"视图将要消失");
    }
    //视图已经消失(已经不再屏幕之上)
    -(void)viewDidDisappear:(BOOL)animated{
        [super viewDidDisappear:animated];
        NSLog(@"视图已经消失");
    }
    //内存收到警告时会调用
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
  • 相关阅读:
    vue 根据时间时间区间搜索功能
    vue 分页
    ubuntu18 vscode ros 配置
    在ubuntu16上用vscode编译ros历程记录
    word:页眉头部出现一条横线
    word:设置基偶页不同和页眉页脚
    多级标题
    添加论文应用
    添加论文尾注2(交叉引用)
    三线表
  • 原文地址:https://www.cnblogs.com/LzwBlog/p/5675834.html
Copyright © 2011-2022 走看看