本节学习内容:
1.UIViewController的概念
2.UIViewController的属性
3.UIViewController的基本用法
4.UIKit框架代码介绍
5.UIViewController的生命周期高级
6.UIViewcontroller的界面切换
地址:项目名称》Supporting Files>main.m
#import<UIKit/UIKit>;
#import"AppDelegate.h";
//整个app程序的主函数,入口函数
init main(int argc,char * argv[]){
@autoreleasepool{
//UIApplicationMain:UIKit框架结果的启动函数
//参数一:agrc,启动时带有参数的个数
//参数二:argv,参数列表
//参数三:要求传入主框架类类名,如果参数为nil,系统自动用默认框架类做为主框架类
//参数四:NSStringFromClass,主框架的代理类
return UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]));
}
}
【AppDelegate.m】
#import"AppDelegate.h";
#import"ViewController.h";
-(Bool)application:(UIApplication *)application didFinshLaunchingWithOptions:(NSDictionary *)launchOptions{
//创建一个window对象
//属于AppDelegate的属性
//UIScreen:表示屏幕硬件类,mainScreen:获得主屏幕信息
//bounds当前手机屏幕的大小尺寸
self.window=[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
//创建视图控制对像
viewController* vcRoot=[[viewController alloc]init];
//对窗口的根视图控制器进入赋值,整UIKit框架中只有一个根视图控制器,属于window的属性
//视图控制器用来管理界面和处理界面的逻辑类对象
//程序启动前必须对根视图控制器赋值
self.window.rootViewController=vcRoot;
//将window做为主视图并且显示出来
[self.window makeKeyAndVisible];
return YES;
}
【ViewController.h】
#import<UIKit/UIkit.h>
//所有的控制器都需要自定义来完成
//继承于官方的UIViewController
@interface viewController:UIViewController
@end
【UIViewController.m】
#import "ViewController.h";
//当视图控制器第一次被加载显示视图时,调用此函数
//布局初始化视图来使用,初始化资源使用
-(void)viewDidLoad{
//调用父类视图
[super viewDidLoad]
UIView *view=[[UIView allic]init];
view.frame=CGRectMAke(100,100,100,200);
//将视图添加到当前控制器视图上
[self.view addSubview:view];
//当前view颜色
view.backgroundColor=[UIColor orangColor];
//视图控制器背景颜色
self.view.backgroundColor=[UIColor blueColor];
}
//当视图控制器的视图即将显示时,调用此函数
//视图分类:1.显示前,2:正在处于显示状态 3:已经被隐藏
//参数:表示是否用动画切换后显示
//第一次视图显示时都要被调用
-(void)viewWillAppear:(Bool)animated{
NSLog(@"viewWillAppea,视图即将显示!");
}
//当视图控制器的视图即将消失时,调用此函数
//参数:表示是否用动画切换后消失
//当前的状态:视图还是显示在屏幕上的
-(void)viewWillDisapper:(Bool)animated{
NSLog(@"视图即将消失!");
}
//当视图已经显示到屏幕后的瞬间调用此函数
//参数:表示是否用动画切换显示的
//当前状态已经显示到屏幕上了
-(void)viewDidAppear:(Bool)animated{
}
//当前视图已从屏幕上消失
//参数:表示是否用画切换显示的
//当前状态当前视图控制视图已经消失从屏莫上
-(void)viewDidDisappear:(BOOL)animated{
}
//当系统内存过低时,会发起警告信息,调用此函数
-(void)didReceiveMemoryWarning{
[super didReceviewMemoryWarning];
}
创建一个新个viewController 名称 viewC2,并继承UIViewController
【viewC2.m】
#import "viewC2"
#import"UIViewcontroler";
@interface viewC2()
@end
@implementation viewc2
//当屏幕被点击时,调用此函数
-(void)tochesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
ViewC2 *vc=[[ViewC2 alloc]init];
//显示一个新的视图控制器到屏幕上
//P1:新的视图控制器对象
//P2:使用动画切换动画效果
//P3:切换结束后功能调用,不需求传nil值
[self presentViewController:vc animated:YES completion:nil];
}
//第一次程序加载视图时调用
-(void)viewDidLoad{
[super viewDidLoad]
self.view.backGrounColor=[UIColor orangeColor];
}
-(void)tochesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
//使用当前的控制器消失掉
//P1:是否有动画效果
//P2:结束后是否调用功能block块
[self dimissViewControllerAnimated:YES completion:nil];
}