//视图控制器: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] ;
}
转载于:https://my.oschina.net/u/2319073/blog/591472