摘要:▶ ModalView 1 - 模态视图不是专门的某个类,而是通过视图控制器的 presentViewController方法 弹出的视图,我们称为模态视图。模态视图出现的场景一般是临时弹出的窗口,譬如:登录窗口开发中在当前视图上再弹出一个视图、分享视图、注册等等 2 - 代码示例:由 ViewCo
阅读全文
摘要:▶ CALayer 1 - CALayer 包含在 QuartzCore 框架中,这是一个跨平台的框架,既可以用在 iOS 中又可以用在 Mac OS X 中 2 - CALayer 的设计主要是了为了内容展示和动画操作,它本身并不包含在 UIKit 中,它不能响应事件;它在设计之初就考虑它的动画操
阅读全文
摘要:▶ CGAffineTransform 1 - CGAffineTransform 是一个用于处理形变的类,可以改变控件的平移、缩放、旋转等;它的坐标系统采用的是二维坐标系:向右为 x轴 正方向,向下为 y轴 正方向;它的形变是通过仿射变换矩阵来控制的:其中平移是矩阵相加;旋转与缩放则是矩阵相乘 2
阅读全文
摘要:■ 事件 1. 事件是由硬件捕捉并产生的一个表示用户操作设备的对象发送给 iOS!许多事件都是 UIKit框架 中 UIEvent 的实例,UIKit 当前可以识别三种类型的事件:触摸事件、摇动事件以及远程控制事件。其中触摸事件是⽤户通过触摸设备屏幕操作对象、输入数据,支持多点触摸 2. 事件传递:
阅读全文
摘要:▶ UIResponder 1 - 如果自定义的响应者是 UIview 或是 UIViewController 的子类则必须声明全部四个 UIResponder对象 的处理事件方法!这样做的原因很简单:所有视图都可以接收到完整的触摸事件流。如果自定义响应者是 UIKit 中响应者类,则不必如此 -
阅读全文
摘要:▶ UIRecognizer 1 - ⼿势识别器是对触摸事件做了封装,无需⾃己去判断某个手势是否触发 2 - ⼿势识别器有 7 个子类 UITapGestureRecognizer :轻拍手势识别器,能识别轻拍操作 UILongPressGestureRecognizer:长按手势识别器,能识别长按
阅读全文
摘要:■ UICollectionViewCell 1. 准备工作 单元格 CustomCell:是 UICollectionViewCell 的子类 区头/区尾 HeaderView:是 UICollectionReusableView 的子类 图片详情页面 SecondViewController:点
阅读全文
摘要:■ 简言 1. 集合视图是 iOS 6 之后引入的一个新的 UI 控件,它和 UITableView 有着诸多的相似之处,简单来说 UICollectionView 是比 UITableView 更加强大的一个 UI 控件,有如下几个方面 支持水平、垂直两种方向的布局:通过 layout 配置方式进
阅读全文
摘要:■ 简言 1. UISearchController 是 iOS 8 之后推出的一个新的控件, 用于创建搜索条及管理搜索事件,一般和 UITableView 结合使用,很少会单独使用它 1 // 初始化方法, 参数是展示搜索结果的控制器,如果是在当前控制器展示搜索结果, 就传 nil 2 - (in
阅读全文
摘要:■ 对单元格的编辑处理:同步数据源 1. 当我们对 cell 进行编辑时,往往伴随着对数据的处理,无数据处理的编辑是没有任何意义的! // - Student.h:数据存储 1 #import <Foundation/Foundation.h> 2 @interface Student : NSOb
阅读全文
摘要:■ 对单元格的编辑处理:未同步数据源 1. 在开发过程中,我们往往需要对 cell 进行操作,比如手机中的通讯录对联系人的增、删、改、查!那么 UItableView 中的 cell 是如何实现该功能呢? 如下 增/删流程 1 // 第一步:让 tableView 处于编辑状态 2 -(void)s
阅读全文
摘要:■ 数据绑定 1. 准备工作 学生信息文件 Students.plist 数据源 Student:用来存储学生信息 Model层 StudentData 文件:管理数据 自定制两种 cell 布局:按照性别不同,决定 cell 的布局样式 2. 具体实现 // - Student.h:Student
阅读全文
摘要:■ 单元格定制 1. 系统的 UITableViewCell 通常不能满足自身的 UI 设计效果,那么一般有两条路可走 要么是修改系统自身的 cell 要么是使用 UITableViewCell 的子类 2. 代码示例:实现单元格定制 方式一:在控制器中当 cell 创建时直接修改 // - Vie
阅读全文
摘要:■ 简言 1. 表视图是 iOS 中最重要的视图,没有之一。它通常用来管理一组具有相同数据结构的数据,并且常与 UINavigationController 结合使用;它可以分区(组)来显示内容:区称为 section;行称为 row 2. 表示图具有 4 种样式 3. UITableView 每行
阅读全文
摘要:■ 页面切换 1. 在开发中经常会遇到通过手机屏幕上向左或向右轻轻划动,就可以实现页面切换需求。下面我们就来实现这一功能 // - AppDelegate.m:指定根视图控制器 1 #import "AppDelegate.h" 2 #import "TabBarController.h" 1 -
阅读全文
摘要:■ 简言 1. 标签控制器管理一个选择展示界面,可以控制多个 controller,与导航栏控制器不同的是,它所管理的 controller 不存在层级关系!它分三层结构 注:UITabBar 包含多个 UITabBarItem,每个 item 对应一个 viewController,默认高度是 4
阅读全文
摘要:■ UINavigationController 1. 导航控制器是专门管理具有层级关系内容的导航,以栈的方式管理所控制的视图控制器:至少要有一个被管理的视图控制器,这个被管理的视图控制器是导航控制器的根视图控制器 注:任何继承于 UIViewController 的控制器(包括多态)都可以作为导航
阅读全文
摘要:■ 简言 1. UIAlertController 是 iOS 8 推出的新概念, 同时替代了 UIAlertView 和 UIActionSheet,它从系统层级上统一了 alert 的概念,即以 modal 方式或 popover 方式展示 2. 不管是要用 alert 还是 action sh
阅读全文
摘要:■ 简言 1. UIViewController 负责根视图上面所有子视图的一切事物、检测设备的旋转和内存的警告的发生!其生命周期如下 当创建一个视图控制器的之后,视图控制器的根视图是 nil:如果根视图为 nil,就会马上调用 loadview 方法去加载一个根视图!如果父类 loadView 方
阅读全文
摘要:■ 简言 1. UIDatePicker 是时间选择器:它可以获取选择的日期时间、设置显示语言、12/24 小时进制、获取本地时间、限制选择时间的选择范围、格式化显示输出所需要的显示时间等 ■ 使用方式 1. 基本使用 1 UIDatePicker *datePicker = [[UIDatePic
阅读全文