- (BOOL)application 入口函数
//当程序框架初始化成功后,调用此函数
//此函数用来初始化整个程序框架结构
//整个程序对IOS开发工程师的入口函数
window对象的创建
//整个程序中只有一个UIWindow对象
//在程序基本上表示屏幕窗口
//UIWindow 也是继承于UIView
//UIWindow 是一个特殊的UIView
//UIScreen:表示屏幕硬件表示类
//mainScreen获得主屏幕设备信息
//bounds表示屏幕的宽高值
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
创建视图控制器对象方法(一)
ViewController * vcRoot = [[ViewController alloc]init];
//对窗口的根视图控制器进行赋值操作
//整个UIKit框架中只有一个根视图控制器,属于window的属性
//视图控制器用来管理界面和处理界面的逻辑类对象
//程序启动前必须对根视图控制器赋值
self.window.rootViewController =vcRoot;
创建视图控制器对象方法(二)
//创建一个视图控制器作为UIWindow的根视图控制器
self.window.rootViewController = [[UIViewController alloc]init];
将window作为主视图并且显示出来
[self.window makeKeyAndVisible];
几个协议函数
viewDidLoad
viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
touchesBegam
第一次加载视图时调用
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor blueColor];
NSLog(@"viewDidLoad! 第一次加载视图!!!");
}
即将显示时
//当视图控制器的视图即将显示时,调用此函数
//视图分为:显示前(不显示) 2:正在处于显示状态 3:已经被隐藏
//参数:表示是否用动画切换后显示
//每一次视图显示时都要被调用
- (void) viewWillAppear:(BOOL)animated
{
NSLog(@"viewWillAppear,视图即将显示!");
}
视图已经显示
//当视图已经显示到屏幕后的瞬间调用此函数
//参数:表示是否用动画切换后消失
//当前状态已经显示到屏幕上
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"视图已经显示");
}
视图即将消失
//视图即将消失时,调用此函数
//参数:表示是否用动画切换后消失
//当前的状态:视图还是显示在屏幕上的
- (void)viewWillDisappear:(BOOL)animated
{
NSLog(@"视图即将消失!");
}
视图已经消失
//当视图已经消失在屏幕上
//参数:表示是否用动画切换后消失
//当前状态当前视图控制视图已经消失从屏幕上
- (void)viewDidDisappear:(BOOL)animated
{
NSLog(@"视图已经消失");
}
当屏幕被点击时
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//创建视图控制器二
ViewC02 *vc = [[ViewC02 alloc]init];
//显示一个新的视图控制器到屏幕上
//P1:新的视图控制器对象
//P2:使用动画切换动画效果
//P3:切换结束后功能调用,不需要传nil值即可
[self presentViewController:vc animated:YES completion:nil];
//使当前的控制器消失掉
//P1:是否有动画效果
//P2:结束后是否调用功能block块操作
[self dismissViewControllerAnimated:YES completion:nil];
}