iOS-UIView-生命周期
//所谓这里的生命周期,指视图控制被加载后,首先调用的方法,其次调用的方法,到销毁时调用的方法
-(
void
)loadView;
//view 出现之前
-(
void
)viewWillAppear:(
BOOL
)animated;
//当view将要出现的时候
-(
void
)viewDidAppear:(
BOOL
)animated;
//view 已经显示了
-(
void
)viewWillDisappear:(
BOOL
)animated;
//view即将消失
-(
void
)viewDidDisappear:(
BOOL
)animated
//view已经消失
- (
void
)viewDidLoad;
//view出现
//受到内存警告 程序内存 不够的时候 会调用 这个方法 请检查程序内存是否泄漏
//有可能是程序问题 占用内存太多 释放一些资源 如果释放之后 还是有内存警告
//那就是 程序问题
//一般 程序 内存占用都在50M左右 有地图的可能会变大100左右
//模拟内存警告 点击 测试机 hardware -->S..M..W..
//
- (
void
)didReceiveMemoryWarning;
二.模态视图控制器切换Modal
是当前视图控制器,弹出了模态视图控制器
一段代码:
#import "RootViewController.h"
#import "SecondViewController.h"
#define kDebugMethod NSLog(@"%@", NSStringFromSelector(_cmd))
@interface RootViewController ()
@end
@implementation RootViewController
//当view nil为调用loadView
-(
void
)loadView
{
[super loadView];
kDebugMethod;
}
//是当我们的View加载完成
- (
void
)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self createButton];
kDebugMethod;
}
//这个是当我们的View将要出现的时候
-(
void
)viewWillAppear:(
BOOL
)animated
{
[super viewWillAppear:animated];
kDebugMethod;
}
//我们view的已经显示了
-(
void
)viewDidAppear:(
BOOL
)animated
{
[super viewDidAppear:animated];
kDebugMethod;
}
//我们的View将要消失的时候
-(
void
)viewWillDisappear:(
BOOL
)animated
{
[super viewWillDisappear:animated];
kDebugMethod;
}
//我们的view已经消失了
-(
void
)viewDidDisappear:(
BOOL
)animated
{
[super viewDidDisappear:animated];
kDebugMethod;
}
//收到内存警告,
//当我们的程序内存吃紧的时候,会调用这个函数
//一般情况下,如果调了这个函数,请检查你们的程序的内存是否泄露,就有可能是我们程序问题,占用内存太多了
//释一些资源,如果释放一些不必要的资源后,还是有内存警告,那就是真的是我们的程序有问题
- (
void
)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
kDebugMethod;
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
-(
void
)createButton
{
UIButton *btn=[UIButton buttonWithType:UIButtonTypeContactAdd];
[btn setFrame:CGRectMake(50, 50, 80, 40)];
[btn addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];
// int nCount=0;
// if (nCount=5) {
//
// }
[self.view addSubview:btn];
}
-(
void
)onClick:(UIButton*)btn
{
SecondViewController *second=[[SecondViewController alloc] init];
//推进去第二个Contorller
//第一个参数是我们将推进去视图控制器的对象
//第二个是BOOL,表示我们是否显示动画
//第三个参数是block,完成后,推进去之后
[self presentViewController:second animated:YES completion:^{
NSLog(@
"已经进入到第二个视图控制器"
);
}];
[second release];
}
@end
最后 再附上图片解释: