iOS UI-(多)视图控制器的生命周期、加载方法和模态视图方法以及屌丝方法
#import "ViewController.h"
#import "SecondViewController.h" @interface ViewController () @end @implementation ViewController // 视图控制器的生命周期
// 视图控制器的加载方法
// 模态视图方法 /*
// 视图控制器的加载方法
- (instancetype)init
{
self = [super init];
if (self) {
// 属性、成员变量
// 千万不要在这个地方初始化控件
}
return self;
} - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
// 初始化控件(用nib文件创建的控件)
// IB (.Xib文件) 没有stroyboard之前用的 这个文件叫nib文件
} - (void)loadView
{
//初始化试图用
}
*/ // 视图加载完成时调用,视图控制器当中(伪第一)调用的方法
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad"); self.view.backgroundColor = [UIColor cyanColor]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
[btn setFrame:CGRectMake(, , , )];
[btn setTitle:@"next" forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor orangeColor]];
[btn addTarget:self action:@selector(modelMethod) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn]; }
#pragma mark - life Cycle
// 视图(每次)将要出现的时候调用
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSLog(@"viewWillAppear"); }
// 视图(每次?)出现完成的时候调用
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSLog(@"veiwDidAppear"); }
// 视图(每次)将要消失的时候调用
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
NSLog(@"viewWillDisappear"); }
// 视图消失完成之后时候调用
-(void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
NSLog(@"viewDidDisappear"); } #pragma mark - Model View Method(模态视图方法)
- (void)modelMethod
{
// 视图切换,切换到下一个视图
SecondViewController *secondVC = [[SecondViewController alloc] init];
// // 伪翻页
// secondVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;
// // 模态方法跳入
// [self presentViewController:secondVC animated:YES completion:nil]; //屌丝方法
[self.view addSubview:secondVC.view];
[self addChildViewController:secondVC];
} #pragma mark - other System Method
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
} @end
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad");
self.view.backgroundColor = [UIColor darkGrayColor];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
[btn setFrame:CGRectMake(, , , )];
[btn setTitle:@"back" forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor whiteColor]];
[btn addTarget:self action:@selector(backMethod) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
- (void)backMethod
{
// 模态方法跳出
// [self dismissViewControllerAnimated:YES completion:nil];
//屌丝方法跳出
[self.view removeFromSuperview];
[self removeFromParentViewController];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
iOS UI-(多)视图控制器的生命周期、加载方法和模态视图方法以及屌丝方法的更多相关文章
- iOS视图控制器的生命周期
今天面试有一道面试题因为回答不好,因为也不经常涉及所以有点模糊,我选择了最保守的回答,没有展开写出我对这个问题的理解. 问题:IOS 开发 loadView 和 viewDidLoad 的区别? 经过 ...
- 通俗易懂的讲解iphone视图控制器的生命周期
IOS 视图控制器的生命周期非常非常重要,所以我有必要写个文章来和大家一起探讨问题. 今天在学习视图控制器的生命周期,也看了一下网上的一些资料,但总觉得不是那么好理解,首先我们来看一张图: 先粗略讲一 ...
- vue生命周期加载顺序
1.beforeCreate(创建前)表示实例完全被创建出来之前,vue 实例的挂载元素$el和数据对象 data 都为 undefined,还未初始化.此钩子函数不能获取到数据,dom元素也没有渲染 ...
- iOS 控制器的生命周期(UIController)
前言: 在iOS开发中,控制器的生命周期非常重要,什么时候加载页面,什么时候请求接口,什么时候刷新界面等等,都有很多值得优化的地方 loadView: 最先执行的方法,控制器关联的有Nib文件的时候, ...
- 整理ViewController的生命周期和加载过程
按照执行顺序排列 - initWithCoder:通过nib文件初始化时触发 - awakeFromNib:nib文件被加载的时候,会发送一个awakeFromNib的消息到nib文件中的每个对象 p ...
- iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期 一.基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉. 在stor ...
- iOS视图控制对象生命周期
iOS视图控制对象生命周期-init.viewDidLoad.viewWillAppear.viewDidAppear.viewWillDisappear.viewDidDisappear的区别及用途 ...
- IOS 视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
iOS视图控制对象生命周期-init.viewDidLoad.viewWillAppear.viewDidAppear.viewWillDisappear.viewDidDisappear的区别及用途 ...
- 【转】【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
原文网址:http://blog.csdn.net/weasleyqi/article/details/8090373 iOS视图控制对象生命周期-init.viewDidLoad.viewWillA ...
随机推荐
- ELK+Kafka学习笔记之FileBeat日志合并配置输出到kafka集群
filebeat.prospectors: - type: log #日志输出类型 enabled: true ...
- HTML 和 JavaScript 编写简单的 404 界面
编写简单的 404 界面,也可以用来做 500 报错界面,还会飘东西,特别好,蛮漂亮的! <!DOCTYPE html> <html> <head> <met ...
- 20145322何志威 Exp8 Web基础
20145322何志威 Exp8 Web基础 实践过程记录 一.Apache 1 修改/etc/apache2/ports.conf里的端口为5322后重新开启: 2 可以在浏览器中输入localho ...
- 20165310 学习基础和C语言基础调查
学习基础和C语言基础调查 做中学体会 阅读做中学之后,了解老师关于五笔练习.减肥.乒乓和背单词的经历,不禁联想到自己学古筝的经历. 成功的经验 兴趣 我其实小时候学过一段时间古筝,但是那时候是因为父母 ...
- Python3基础 lambda 简单示例
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Go第四篇之流程控制
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go 语言的常用流程控制有 if 和 for,而 switch 和 goto 主要是为了简化代码.降低重复 ...
- Linux虚拟内存和物理地址的理解【转】
本文转载自:http://blog.csdn.net/dlutbrucezhang/article/details/9058583 在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中.这 ...
- PHP Extension
新手搞PHP ,之前用过 PERL, BASH: 所以开始用PHP 写程序上手比较快, 几天之后对PHP 的内部实现机制产生了兴趣,所以自己尝试着写写简单的PHP 扩展,以增加对PHP 的理解. ...
- thinkphp中的__DIR__ __ROOT__ __APP__ __MODULE__ APP_PATH LIB_PATH MODULE_PATH 等是在哪里定义的?
为什么会产生这样的 路径 常量等 的 困扰? 是由于 在tp中, 使用了多种形式的常量导致的, 比如, 有php语言本身的 "魔术常量", 有 php函数, 比如dirname定义 ...
- P1600 天天爱跑步
lca真心不太会,这里只介绍60分做法,100的太难辣简单了就不介绍了 n<=1000 zz回溯爆搜 S[i]全部相等 这dfs序都不用lca的,2333,差分,然后输出判断一下是否是0(1到i ...