博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS-UIView-生命周期
阅读量:6792 次
发布时间:2019-06-26

本文共 2745 字,大约阅读时间需要 9 分钟。

  hot3.png

一.生命周期

//所谓这里的生命周期,指视图控制被加载后,首先调用的方法,其次调用的方法,到销毁时调用的方法

-(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;
205257_cUJA_2429434.png

二.模态视图控制器切换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

最后 再附上一张英文的图片解释

205743_y7iQ_2429434.jpg

转载于:https://my.oschina.net/rainwz/blog/494158

你可能感兴趣的文章
枚举类的简单操作
查看>>
Swift 2 语言精要 - Initialization and Deinitialization
查看>>
centos7安装docker并设置开机启动
查看>>
一条SQL语句中算日销售额和月销售额
查看>>
PgSQL · 应用案例 · HDB for PG特性(数据排盘与任意列高效率过滤)
查看>>
浅析常用局部敏感哈希算法
查看>>
ASM无法启动的问题分析(一)
查看>>
20. 市场营销
查看>>
Oracle数据库的整体结构
查看>>
RDS实例的性能测试报告----基础总结篇
查看>>
Jquery ajax传递复杂参数给WebService
查看>>
ORACLE 11.2 RAC修改数据库静态参数
查看>>
PLSQL实现显示当天是星期几及当前时间
查看>>
[INS-30131]installing ORACLE 12C RAC DATABASE on AIX 6.1
查看>>
oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包(转)
查看>>
B2B门户慧聪网的seo经典案例分析实测
查看>>
如何对List中的对象进行排序
查看>>
如何在Eclipse中添加Tomcat的jar包
查看>>
SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化
查看>>
MavenInAction
查看>>