ios开发获取父控制器生命周期_IOS UIViewController API,生命周期详解

在UIKit框架中只有一个根制图控制器。视图控制器用来管理界面和处理界面的类对象,程序启动前必须创建根视图控制器。所有视图控制器都需要自定义完成,必须继承于UIViewController 实现。xcode新创建的项目默认是通过info.plist 文件配置 main.storyboard 文件自动创建根视图ViewController。继承于UIView

创建根视图控制器

#import "AppDeletegate.h"

...code

- (void) didFinishLuanchingWithOptions:(NSDictionary *)luanchOptions {

// 设置屏幕宽高

self.window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen]];

// 设置视图控制器为window根节点

self.window.rootViewController = [[UIViewController alloc] init];

}

...code

自定义ViewController

#import "ViewController.h"

@implementation ViewController

// 当视图控制器第一次被加载显示视图

- (void) viewDidLoad{

[super viewDidLoad];

//创建子视图

UIView *view = [[UIView alloc] init];

view.frame = CGReactMake(0, 0, 300, 45);

view.backgroundColor = [UIColor greenColor];

// 加入视图

[self.view addSubView:view];

}

@end

添加子视图控制器

#import "ViewController.h"

@implementation ViewController

// 当视图控制器第一次被加载显示视图

- (void) viewDidLoad{

[super viewDidLoad];

self.view.backgroundColor = [UIColor blueColor];

}

// 当屏幕被点击时候触发

-(void)touchesBegan:(NNSet*)touches withEvent:(UIEvent *)event{

UIViewController *sonViewController = [[UIViewController alloc] init];

[self presentViewController: sonViewController animate:YES complation:nil];

}

@end

API

(void)touchesBegan:(NNSet*)touches withEvent:(UIEvent *)event 当屏幕被点击时候触发。

(void)presentViewController:(UIViewController *) animate:(BOOL) completion:(callbacl) 显示一个视图控制器到屏幕上,参数1:UIViewController 新的视图控制器对象,参数2:animate 是否开启动画效果,参数3:completion: 执行完成后的回调函数,不需要传nil即可。

(void)dismissViewControllerAniamted:(BOOL) completion:(callback) 使当前视图控制器在屏幕消失,参数1:animte 是否开启动画效果,参数2:completion 执行完成后的回调函数,不需要传nil即可。

(void)removeFromSuperView 将当前视图实例从父级删除

(void)bringSubViewToFront: UIView* 将一个子视图调整到最顶级绘制

(void)sendSubViewToBack: UIView* 将一个子视图调整到最低层绘制

#### 生命钩子

(void)viewDidLoad 加载内存时候触发, 通常用于初始化子节点布局和资源使用

(void)viewWillAppear:(BOOL)animated 即将显示时候触发

(void)viewDIdLayoutSubviews 布局子组件完成时候触发

(void)viewWillLayoutSubviews 当渲染时候布局子组件触发

(void)viewDidAppear:(BOOL)animated 已经显示时触发

(void)viewWillDisappear:(BOOL)animated 即将消失时候触发

(void)viewDidDisappear:(BOOL)animated 消失时候触发

(viod) didReceiveMemoryWarning 当内存不足时候触发

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值