//视图控制器:UIViewController //功能:1:管理一个界面中的全部子视图 //2:管理全部的当前视图的(消息)事件函数 //3:管理界面中的全部数据(源),使数据和界面分离管理 //4:负责网络数据处理功能 #import "VCRoot.h" #import "VCSecond.h" @interface VCRoot () @end @implementation VCRoot - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } //当视图第一次“显示”的时候 //当视图被建立时,此函数被调用 //只能调用一次,至关于初始化函数 - (void)viewDidLoad { //self.view ; [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor grayColor] ; UIButton* btn =[UIButton buttonWithType:UIButtonTypeRoundedRect] ; btn.frame = CGRectMake(100, 100, 120, 40) ; btn.titleLabel.font = [UIFont systemFontOfSize:24] ; [btn setTitle:@"切换界面" forState:UIControlStateNormal] ; //设置标题颜色 [btn setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal] ; [btn addTarget:self action:@selector(pressBtn) forControlEvents:UIControlEventTouchUpInside] ; //将子视图添加到界面上 [self.view addSubview:btn] ; //建立控制器二 _vcSecond = [[VCSecond alloc] init] ; //设置动画风格 //控制器一切换到控制器二时的动画 //UIModalTransitionStyleCoverVertical //自下向上切换风格 //UIModalTransitionStyleCrossDissolve //渐变风格 //UIModalTransitionStyleFlipHorizontal //翻转风格 //UIModalTransitionStylePartialCurl //部分翻页风格 _vcSecond.modalTransitionStyle = UIModalTransitionStyleCoverVertical ; } -(void) viewWillAppear:(BOOL)animated { NSLog(@"视图1即将显示!"); } -(void) viewWillDisappear:(BOOL)animated { NSLog(@"视图1即将消失!"); } -(void) viewDidAppear:(BOOL)animated { NSLog(@"视图1已经显示!"); } -(void) viewDidDisappear:(BOOL)animated { NSLog(@"视图1已经消失!"); } -(void) pressBtn { //VCSecond* _vcSecond = [[VCSecond alloc] init] ; //功能:从一个视图控制器切换到另一个视图控制器 //self:表示当前的视图控制器VCRoot //参数一:vcSecond表示即将切换到的视图控制器 //参数二:是有使用动画效果 //参数三:当切换动画结束后,调用的代码功能 [self presentViewController:_vcSecond animated:YES completion:nil] ; // [_vcSecond release] ; } -(void) dealloc { [_vcSecond release] ; [super dealloc] ; } #import "VCSecond.h" @interface VCSecond () @end @implementation VCSecond - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //更改背景颜色 self.view.backgroundColor = [UIColor redColor] ; NSLog(@"视图二被建立!"); } //四个函数为视图控制器的显示消失函数 //每当视图控制器被显示和消失时,都会被调用 -(void) viewWillAppear:(BOOL)animated { NSLog(@"视图二即将显示!"); } -(void) viewWillDisappear:(BOOL)animated { NSLog(@"-------------------------"); NSLog(@"视图二即将消失!"); } -(void) viewDidAppear:(BOOL)animated { NSLog(@"视图二已经显示!"); NSLog(@"------------------------"); } -(void) viewDidDisappear:(BOOL)animated { NSLog(@"视图已经消失!"); } //点击屏幕空白处 -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { //将视图控制器对象消失掉 //内存是否销毁,取决因而否还有其余对象引用 //若是还有引用,不能销毁 //若有没有对象引用,消失后会销毁内存 //参数一:是否有动画 //参数二:消失后的功能代码调用 [self dismissViewControllerAnimated:YES completion:nil] ; }