iOS开发学习笔记——控制器(UIViewController)
来源:互联网 发布:linux curl 断点续传 编辑:程序博客网 时间:2024/04/30 02:14
UIViewController基本了解
一、 基本概念
1、 控制器管理着App所需要的数据model,同时负责控制数据显示到相应的视图
2、 UIViewController是控制器的根类,常见子类:UITableViewController、UINavigationViewController等
3、 创造控制器的方法(三个),实例化初始化方法不同
a、 通过代码创建控制类,实例化直接调用init.
b、 通过XIB创建,实例化调用initWithNibName.
c、【常用】通过StoryBoard创建,应该给它指定StoryBoardID,实例化系统默认调用initWithCoder,但是自己在生成对象时,间接调用UIStoryBoard的API,首先获取到相应的StoryBoard,再根据identity在StoryBoard中实例化某个控制器(前提是给该控制器分配了Storyborad ID),同时需要强转以下类型。
//LL:这里需要注意下Storyborad中产生的控制器不像Xib文件的一样,不仅控制类要相关联待,如果需要在代码中使用,还需要显示访问Storybord文件。 //1.获取StoryBoard UIStoryboard *stotyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; //2.从storyboard中获取某个控制器 S_TalkViewController *VC = (S_TalkViewController*)[stotyboard instantiateViewControllerWithIdentifier:@"talkViewController"];//强制转换可以去掉(<span style="font-family: Arial, Helvetica, sans-serif;">(S_TalkViewController*)</span>) [self presentViewController: VC animated:YES completion:^{ NSLog(@"即将跳转到子页面"); }];
4、 【重点】代码的优先级高于其他方式
具体创建教程:宏创学院»UIViewController介绍:1-创建控制器
二、 控制器的切换
1、 使用StoryBoard切换
a、 切换的关联一般放在可交互控件上(如按钮)
b、 如何连接(Segue)到另一个控制器了?【参考步骤】按住ctl健拖动到下一个控制器,并选则Segue类型【Segue类型区别】
c、 当实现跳转时,会自动调用控制器的prepareForSegue方法(在相应控制器类中写这个方法),prepareForSegue方法中的segue参数,包含了3个重要属性,分别为:segue的ID,源控制器(sourceViewController)以及目标控制器(destinationViewController),在开发过程中,经常会涉及到,在prepareForSegue方法中实现数据在源控制器以及目标控制器之间传递数据
2、 使用代码切换(如果多个切换,可用堆栈原理理解)
a、 控制器器要存在(实例化,特别是在StoryBoars控制器创建,要在这里获取)
b、 使用presentViewController方法切换到下一个控制器,原控制器隐藏
c、 使用dismissViewControllerAnimated方法返回原控制器(第二个控制器销毁了)
更多切换方式参考:页面切换的四种方式
三、 多个控制器的嵌套
多控制器的嵌套:通过父控制器管理(跳转)多个子控制器,以方便在页面之间跳转。
学习内容来源:宏创学院»UIViewController介绍:5-控制器嵌套
四、 UIWindow、UIView、UIViewController的关系【重点理解】
学习内容来源:宏创学院»UIWindow、UIView、UIViewController的关系
- iOS开发学习笔记——控制器(UIViewController)
- ios开发控制器-UIViewController
- iOS学习笔记——UIViewController学习
- iOS开发中的控制器-UIViewController-
- iOS开发 - UIViewController控制器管理
- IOS学习笔记7—UIViewController
- IOS开发学习笔记(导航控制器,视图控制器,模态)
- iOS开发之视图控制器(UIViewController)
- ios开发之视图控制器(UIViewController)-- 详解
- iOS开发之视图控制器(UIViewController)
- IOS学习 UIViewController 视图控制器的创建
- iOS开发学习笔记——导航控制器1(UINavigationController)
- iOS学习笔记5-UIViewController(1)
- iOS UI学习笔记(六)UIViewController
- iOS学习笔记-(控制器)
- iOS 学习笔记20 iOS开发UI篇—控制器的创建
- iOS开发学习笔记③ - 视图控制器
- iOS开发之UIViewController视图控制器之间跳转
- 2016 腾讯笔试题 输出回型矩阵(dfs)
- myeclipse 配置tomcat 免重启 jrebel.jar
- 使用IHttpAsyncHandler实现带进度条的文件上传
- HDU 1242 Rescue dfs
- errno.h的定义
- iOS开发学习笔记——控制器(UIViewController)
- 客户端使用axis调用webService服务端
- iOS:json格式字符串转字典,字典转json格式字符串
- 旋转数组的最小数字 Java版实现 迭代方式
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(1)-前言与目录(持续更新中...)
- BFS示例—寻找奶牛
- CodeForces 618B-Guess the Permutation【搜索】
- UNIX系统接口【重学C之八】
- activity-alias的使用