IOS开发之XCode学习009:UIViewController使用
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm
此工程文件实现功能:
通过点击屏幕事件,调用ViewController相关生命周期函数(viewWillAppear、viewWillDisappear、viewDidDisappear、viewDidAppear)
todo...
遇到点小Bug:
1、viewDidLoad方法被多次调用
2、当每次点击橘色屏幕时,调用了viewWillAppear和viewDidAppear方法
暂时还不知道原因。。。
===========================ViewController.m脚本==============================
#import "ViewController.h"
//引入新创建的视图控制器(继承于ViewController)
#import "ViewC02.h"
//当屏幕被点击时,调用此函数
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//创建视图控制器
ViewC02* vc = [[ViewC02 alloc] init];
//显示一个新的视图控制器到屏幕上
//P1:新的视图控制器对象
//P2:是否使用动画切换效果
//P3:切换结束后功能调用,不需要传nil值即可
[self presentViewController:vc animated:YES completion:nil];
}
//第一次程序加载视图时调用
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor blueColor];
NSLog(@"viewDidLoad!第一次加载视图!");
}
//当视图控制器的视图即将显示时,调用此函数
//视图分为:1、显示前 2、正在处于显示状态 3、已经被隐藏
//参数:表示是否用动画切换后显示
//每一次视图要显示时都会调用
-(void) viewWillAppear:(BOOL)animated
{
NSLog(@"viewWillAppear,视图即将显示!");
}
//当视图即将消失时,调用此函数
//参数:表示是否用动画切换后消失
//当前的状态:视图还是显示在屏幕上的
-(void) viewWillDisappear:(BOOL)animated
{
NSLog(@"viewWillDisappear,视图即将消失!");
}
//当视图已经显示到屏幕后的瞬间调用此函数
//参数:表示是否用动画切换显示的
//当前状态:已经显示到屏幕上了
-(void) viewDidAppear:(BOOL)animated
{
NSLog(@"viewDidAppear,视图已经显示!");
}
//当前视图已经从屏幕消失
//参数:表示是否用动画切换消失的
//当前状态:视图已经从屏幕上消失
-(void)viewDidDisappear:(BOOL)animated
{
NSLog(@"viewDidDisappear,视图已经消失!");
}
//内存过低警告接收函数
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
===========================ViewC02.m脚本==============================
创建新的视图控制器:
File-->New-->File(快捷键command + N),点击,选择ios/Source/Cocoa Touch Class,Next,然后Subclas of选择ViewController,Class取名ViewC02,Create。
- (void)viewDidLoad {
[super viewDidLoad];
//控制器二的颜色为橙色
self.view.backgroundColor = [UIColor orangeColor];
}
//点击当前控制器二的界面屏幕时
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//使当前的控制器消失掉
//P1:是否使用动画切换效果
//P2:切换结束后功能调用block块,不需要传nil值即可
[self dismissViewControllerAnimated:YES completion:nil];
}
学习总结:
- 重点:UIViewController的界面切换
- 难点:UIViewController的生命周期
源码链接地址:https://pan.baidu.com/s/1yrOLXZZeu9MiOWtMq5-EGA 密码:7t1l
IOS开发之XCode学习009:UIViewController使用的更多相关文章
- IOS开发之XCode学习008:UIViewController基础
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 红色框选部分用A代替,AppDelegate类在程序框架启动时,如果在i ...
- IOS开发之XCode学习011:UISwitch控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIswitch控件,添加UIswitc ...
- IOS开发之XCode学习007:UIWindow对象
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm #import "AppDelegate.h" @i ...
- IOS开发之XCode学习012:Slider和ProgressView
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UISlider和UIProgressV ...
- IOS开发之XCode学习010:定时器和视图对象
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.通过点击"启动定时器"按钮 ...
- IOS开发之XCode学习013:步进器和分栏控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIStepper和UISegmente ...
- IOS开发之XCode学习014:警告对话框和等待提示器
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.警告对话框和等待提示器的概念 2.警告对话框 ...
- iOS开发之Xcode常用调试技巧总结
转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...
- iOS开发之Xcode常用调试(Debug)技巧总结
一.Xcode调试技巧之:NSLog 上面也提到了,在我们日常的开发过程中最常见的Debug方式就是打Log.而在OC语言中,打Log是采用NSLog方法.但是NSLog效率低下,具体原因可以看这篇博 ...
随机推荐
- 不要用for循环去遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- HTA基础
HTA是HTML应用程序(HTML Application)的缩写,可以使用HTML中的绝大多数标签.脚本等.直接将HTML保存成HTA的格式,就是一个能够独立运行的应用软件. 与普通HTML网页相比 ...
- Java版网络爬虫基础
网络爬虫不仅仅可以爬取网站的网页,图片,甚至可以实现抢票功能,网上抢购,机票查询等.这几天看了点基础,记录下来. 网页的关系可以看做是一张很大的图,图的遍历可以分为深度优先和广度优先.网络爬虫采取的广 ...
- 洛谷 [P2764]最小路径覆盖问题
二分图应用模版 #include <iostream> #include <cstdio> #include <algorithm> #include <cs ...
- Windows Server 2016-部署额外域控制器
我们一般所提到的所谓域外控制器,是指除域内第一台域控制器之外的其他域控制器.额外域控制器很多时候也有辅助域控一称.那么在同一域内安装多台域控制器有什么优点呢: 1.提高用户登录效率.多台域控制器可以同 ...
- MySQL 存储过程的简单使用
首先创建一张 students 表 SQL脚本如下: create table students( id int primary key auto_increment, age int, name v ...
- yii2 源码分析Event类分析 (三)
转载请注明链接:http://www.cnblogs.com/liuwanqiu/p/6739880.html Event是所有事件的基类,它继承Object类 Event类上面的注释的大致意思: * ...
- 用最简单的例子实现jQuery图片即时上传
[http://www.cnblogs.com/Zjmainstay/archive/2012/08/09/jQuery_upload_image.html] 最近看了一些jQuery即时上传的插件, ...
- 编译安装python3.6后pip3无法安装模块问题处理
编译安装python3.6之后,使用pip3命令安装第三方库效果如图所示: pip is configured with locations that require TLS/SSL, however ...
- python入门学习笔记(二)
6.6替换元素 7.tuple类型 7.1创建tuple 7.2创建单元素tuple 7.3"可变"的tuple 8.条件判断和循环 8.1,if语句 8.2,if... ...