7天玩转iOS 界面开发

更多详情

内容简介: 《7天玩转iOS 界面开发》是一套系统的iOS UI开发教程,基本涵盖iOS开发中所用到的全部系统UI控件,在详细讲解基础运用的基础上,更深层次地分析了高级用法,为有编程基础但不是iOS开发者的程序员转iOS开发提供了便捷的学习路径。同样,对于没有开发基础,但有Objective-C基础的读者而言,也是一套很好的使用教程。
《7天玩转iOS 界面开发》适合的读者有:1.转iOS开发的其他软件开发者。2.有语法基础的iOS开发学习者。3.想更深入理解iOS UI开发的开发者。

目录: 第1天 iOS基础UI控件(上) 1
1.1 承载文字的精灵--UILabel 1
1.1.1 创建第一个iOS项目Hello World 1
1.1.2 使用代码重建Hello World项目 7
1.1.3 iOS系统中的UI坐标系 8
1.1.4 UILabel的相关属性设置 9
1.1.5 多行UILabel控件与换行模式 11
1.2 最简单的交互控件--UIButton 13
1.2.1 在屏幕上创建一个UIButton控件 13
1.2.2 UIButton控件的交互状态 14
1.2.3 UIButton类中可以自定义的一些常用属性 15
1.2.4 为UIButton对象添加触发方法 18
1.3 专业显示图片的控件--UIImageView 19
1.3.1 使用UIImageView在屏幕上创建一个图片元素 20
1.3.2 连续变换播放的图片形成动画--UIImageView的帧动画 21
1.4 搜索框控件--UISearchBar 23
1.4.1 添加一个搜索框控件 23
1.4.2 UISearchBar中常用属性的用法 24
1.4.3 UISearchBar的扩展栏 27
1.4.4 UISearchBar的代理方法 28
1.5 简洁小巧的切换控件--UISegmentedControl 30
1.5.1 创建和初始化UISegmentedControl对象 30
1.5.2 UISegmentedControl中的常用属性与方法 31
1.5.3 UISegmmentedControl中切换模块按钮的增、删、改以及布局操作 32
1.5.4 为UISementedControl控件对象添加触发方法 35
1.6 文本输入交互的基础--UITextField 36
1.6.1 搭建一个用户登录界面 36
1.6.2 为UITextField添加挂件 39
1.6.3 监听用户的输入操作 40
1.6.4 收键盘操作 42
1.7 连续变化的美--UISlider 43
1.7.1 通过滑块控件控制视图的颜色渐变 43
1.7.2 UISlider中常用的可自定义属性 44
第2天 基础UI控件(下) 47
2.1 简洁小巧的开关控件--UISwitch 47
2.1.1 创建一个UISwitch控件 47
2.1.2 UISwitch控件中常用属性解析 48
2.1.3 为UISwitch控件添加触发方法 49
2.2 让等待不再寂寞--UIActivityIndicatorView 49
2.2.1 在视图上创建一个UIActivityIndicatorView控件 50
2.2.2 设计一个全局共享的活动指示器控件 52
2.3 扁平化风格的进度条--UIProgressView 55
2.4 分页控制器--UIPageControl 57
2.5 步进控制器--UIStepper 58
2.5.1 创建一个步进控制器控件 58
2.5.2 为UIStepper控件添加图片修饰 60
2.6 警告框视图--UIAlertView 62
2.6.1 在视图上弹出一个警告框 62
2.6.2 UIAlertView的代理方法 64
2.7 活动列表--UIActionSheet 65
2.7.1 在视图上弹出一个UIActionSheet控件 65
2.7.2 UIActionSheet控件的代理方法 66
2.8 统一的警告控制器--UIAlertController 67
2.8.1 关于UIAlertAction类 67
2.8.2 使用UIAlertController创建警告框和活动列表 68
2.8.3 为警告框风格的UIAlertController添加文本输入框 69
第3天 高级UI控件 71
3.1 自由移动的视图--UIScrollView 71
3.1.1 创建一个UIScrollView控件来展示大图片 71
3.1.2 UIScrollView中常用方法与属性解析 72
3.1.3 UIScrollViewDelegate协议中的方法 74
3.1.4 关于UIScrollView的缩放操作 75
3.2 基础的表格视图--UITableView 77
3.2.1 使用表格视图展示列表数据 77
3.2.2 UITableView中数据载体cell的复用机制 79
3.2.3 数据载体UITableViewCell 80
3.2.4 UITableView的编辑模式 82
3.2.5 UITableView的头视图与尾视图 84
3.2.6 为UITableView添加索引栏 85
3.3 高级文本视图--UITextView 86
3.3.1 创建一个UITextView控件 86
3.3.2 UITextView中的常用属性与方法 87
3.3.3 UITextViewDelegate协议中的常用方法 88
3.4 高级集合布局视图--UICollectionView 90
3.4.1 UICollectionView控件的优势与布局方式 91
3.4.2 使用UICollectionView进行九宫格式的布局 91
3.4.3 创建更加灵活的流式布局 93
3.4.4 参差瀑布流布局 94
3.4.5 使用UICollectionView进行圆环布局 98
3.5 选择器控件--UIPickerView 101
3.5.1 创建一个UIPickerView控件 102
3.5.2 UIPickerView选中数据时的回调代理 103
3.6 时间选择器--UIDatePicker 104
3.7 网页视图与iOS原生视图的完美结合--UIWebView 106
3.7.1 APP网络传输安全策略 106
3.7.2 通过网络请求加载UIWebView 107
3.7.3 通过HTML字符串加载UIWebView 108
3.7.4 通过NSData数据加载UIWebView 109
3.7.5 UIWebView中常用方法解析 110
3.7.6 UIWebView的代理方法 111
第4天 视图与逻辑的管理者 113
4.1 基础的视图控制器--UIViewController 113
4.1.1 UIViewController的生命周期 113
4.1.2 UIViewController的视图层级结构 118
4.1.3 UIViewController的切换跳转 119
4.2 表格视图控制器--UITableViewController 121
4.2.1 自定义一个UITableViewController 121
4.2.2 UITableViewController自带的下拉刷新控件 122
4.3 导航控制器--UINavigationController 124
4.3.1 导航控制器的工作原理 124
4.3.2 使用导航控制器进行多界面搭建 125
4.3.3 关于导航栏UINavigationBar 129
4.3.4 导航按钮UIBarButtonItem 131
4.3.5 导航控制器的工具栏 133
4.3.6 iOS 8之后导航控制器的一些有趣功能 134
4.4 标签控制器--UITabBarController 135
4.4.1 标签控制器的工作原理 135
4.4.2 标签控制器的基础用法解析 135
4.4.3 UITabBarItem的使用 138
第5天 iOS动画开发基础 139
5.1 UIView层动画的应用 139
5.1.1 执行UIView层过渡动画的三个类方法 139
5.1.2 创建UIView层的阻尼动画 141
5.1.3 动画参数配置与组合动画 142
5.1.4 UIView层过渡动画支持的属性 144
5.2 UIView层动画的另一种创建方式 145
5.2.1 使用commit方式进行UIView层过渡动画的创建 145
5.2.2 两种UIView层动画创建方式的优劣 147
5.3 UIView的转场动画 147
5.3.1 重绘UIView视图时使用的转场动画 147
5.3.2 切换UIView视图时使用的转场动画 148
5.4 核心动画编程技术--CoreAnimation 149
5.4.1 锚点对视图控件几何位置的影响 150
5.4.2 色彩梯度层--CAGradientLayer 151
5.4.3 视图备份层--CAReplicatorLayer 152
5.4.4 图形渲染层--CAShapeLayer 153
5.4.5 文本绘制层--CATextLayer 154
5.4.6 CAAnimation动画体系介绍 155
5.4.7 使用CABasicAnimation创建基础动画 157
5.4.8 使用CAKeyframeAnimation类创建关键帧动画 160
5.4.9 CALayer层的转场动画--CATransition 161
5.4.10 CALayer层的组合动画--CAAnimationGroup 162
5.4.11 CATransform3D变换的应用 163
5.5 炫酷的粒子效果 165
5.5.1 粒子发射器--CAEmitterLayer 166
5.5.2 粒子单元--CAEmitterCell 168
5.5.3 创建粒子火焰动画 169
5.6 播放GIF动态图 171
5.6.1 使用UIWebView进行GIF动态图播放 171
5.6.2 使用UIImageView帧动画进行GIF动态图播放 172
第6天 iOS界面布局 175
6.1 传统的UIViewAutoresizing布局模式 175
6.1.1 通过代码来设置视图控件的UIViewAutoresizing模式 176
6.1.2 可视化地配置控件的autoresizing属性 179
6.2 autolayout自动布局框架 180
6.2.1 初识autolayout 180
6.2.2 autolayout的属性意义与一个简单的自动布局示例 182
6.2.3 使用Objective-C风格的方法进行代码autolayout布局 186
6.2.4 使用格式化的字符进行autolayout布局对象的创建 188
6.2.5 管理约束相关的几个方法 191
6.2.6 使用autolayout设计一个高度自适应的聊天输入框及动画优化 191
6.2.7 使用第三方库Masonry进行autolayout约束布局 193
第7天 iOS界面开发扩展知识 199
7.1 调用系统拨号与短信息应用 199
7.1.1 跳转到系统拨号应用界面 199
7.1.2 跳转到系统短消息界面 200
7.2 iOS视频播放技术 202
7.2.1 向应用中嵌入视频模块 203
7.2.2 MPMoviePlayerController常用属性与方法解析 204
7.3 视频播放器视图控制器--MPMoviePlayerViewController 208
7.4 AVPlayerViewController视频播放框架与画中画开发技术 209
7.4.1 使用AVPlayerViewController进行视频播放 210
7.4.2 iPad上的画中画播放技术 213
7.5 翻书效果的阅读器视图--UIPageViewController 215
7.5.1 创建UIPageViewController视图控制器 216
7.5.2 双翻页效果的UIPageViewController 220
7.6 更加灵活地创建标签文字--NSAttributedString的应用 221
7.6.1 NSAttributedString类简介 222
7.6.2 可变的属性字符串NSMutableAttributedString 222
7.7 毛玻璃效果的应用--界面模糊处理 224
7.8 iOS地图视图编程技术 226
7.8.1 进行设备地理位置定位 226
7.8.2 原生地图开发技术 229
7.8.3 在地图中添加大头针及标注 232
7.8.4 在地图视图中添加覆盖物 235
7.8.5 在地图中进行线路导航与附近兴趣点检索 238

前言: iOS应用程序开发是移动开发的一个方向,近年来,随着移动开发越来越热,越来越多的人进入iOS应用开发这一领域。然而,无论对于刚从学校出来的毕业生,还是相关行业的从业者,学习并掌握一种新的开发技能都不是一件容易的事情。从零到完全有能力独立开发一款iOS应用程序,一般要经历四个阶段。
第1阶段是平台语言的学习。iOS应用程序可以使用两种语言来进行开发,即已经比较成熟的Objective-C和相对年轻的Swift,对语言的学习要多写多练,培养编程的感觉与思路。
第2阶段是学习iOS开发框架的界面开发部分。因为移动端应用直接与用户交互,而界面是其重要的组成部分,因此这一阶段主要学习iOS界面框架架构、开发框架中提供的系统UI控件以及掌握自定义UI控件的相关知识。经过此阶段的学习,读者将具备编写商业界面、完成应用独立模块的能力。
第3阶段主要学习应用网络交互的相关知识,使得应用程序不再只是单机运行,而是可以进行网络交互。
第4阶段为实战阶段,这个阶段将通过实战项目,综合应用前面所学的知识,使读者具备独立开发能力。
上面的四个阶段是学习iOS应用开发的必经之路,本书面向的读者对象是学习了语言基础正处于学习界面开发阶段的iOS开发学习者,或者想更深入了解iOS界面开发技巧的iOS开发从业者。
天下武功,唯快不破。本书将展开介绍iOS开发框架中的各种系统UI控件,并提供一些实战例子帮助读者快速地熟练应用这些控件。学习开发框架中的UI控件和学习基础语法有很大不同,对于语法的学习,要刨根问底,掌握每一个细节知识点。而学习开发框架中的UI控件时,读者不必纠结实现原理,只需知道什么时候用、怎么用、如何扩展即可。因而本书在编写时,始终抓住这个原则,将iOS开发中最常用、最核心的UI控件与界面开发技巧整合扩展,整理成7天的教程,正如书名《7天玩转iOS界面开发》。相信通过对本书的学习,读者可以迅速掌握iOS界面开发的脉络。
本书第1天和第2天安排的教程为基础部分,主要介绍iOS开发框架中简单的独立UI控件,其中也会插入一些小例子和实战演练。
第3天的教程为高级UI控件的介绍,这类UI控件需要通过代理、布局类等复杂的方式才能使用,同样,其功能也更加强大,可以创建出更加灵活的布局界面。
第4天教程将介绍视图控制器相关的知识,通过这部分知识,读者将不再局限于独立的UI控件,而是综合使用这些UI控件和控制器编写出完整的程序界面。
第5天的内容是iOS动画开发专题,学习界面开发就不得不学习动画,漂亮的动画效果是界面设计成功的重要保障。通过对第5天内容的学习,读者将全面了解iOS开发框架中处理动画的思路,并有能力处理绝大部分实际开发中的动画需求。
第6天的内容将介绍iOS应用开发的界面布局策略,这部分的知识对屏幕适配、横竖屏界面兼容等意义重大。
本书最后一天的内容将作为补充章节,向读者介绍更多UI方面的开发技巧。
本书中所有例子和演示代码都可在如下地址下载到,所有代码均可直接使用Xcode开发工具进行运行:
http://pan.baidu.com/s/1dENCo6X
由于能力有限,书中错误或疏漏在所难免,欢迎读者及时反馈并与我交流,共同进步。我的QQ:316045346。
最后,本书可以成功完成,要感谢所有帮助过我的老师和朋友,感谢家人与女友的支持。