iOS开发实战

iOS开发实战

张益珲, 编著

出版社:清华大学出版社

年代:2016

定价:79.0

书籍简介:

本书分为几个部分,第一部分:以快速入门为主,介绍开发环境的搭建,简单UI界面的搭建。第二部分:一些高级控件的实战应用。第三部分:动画的实战应用。第四部分:网络编程和第三方框架的应用。第五部分:实战演练,通过完整的项目整合开发技巧。第六部分:专题部分。

作者介绍:

张益珲,软件开发工程师,拥有多年iOS开发经验,曾开发iOS平台系列——游戏疯狂越狱1~2、应用物通配货软件、VIPExam考试库、证券财经软件等,现就职于中国唯品会。

书籍目录:

第1章 开发准备 1

1.1 iOS 9新特性简述 2

1.1.1 新增压力传感器编程接口 2

1.1.2 全新的搜索功能API 2

1.1.3 更小、更快——全新的应用瘦身策略 3

1.1.4 使用更加安全的网络传输协议 4

1.2 熟悉iOS开发环境 4

1.2.1 安装Xcode开发工具 4

1.2.2 了解Xcode开发工具主界面 6

1.2.3 Xcode开发工具的使用技巧及常用快捷键 7

1.3 创建第一个iOS项目 8

1.4 使用Git进行项目版本管理 13

1.4.1 Git与Github简介 13

1.4.2 注册GitHub会员 13

1.4.3 使用Xcode创建Git仓库 14

1.4.4 用Xcode建立本地Git仓库与GitHub代码托管平台的联系 16

第2章 基础UI控件 19

2.1 iOS系统UI框架的介绍 20

2.1.1 MVC设计模式 20

2.1.2 代理设计模式 21

2.2 视图控制器——UIViewController 21

2.2.1 UIViewController的生命周期 21

2.2.2 UIViewController的视图层级结构 25

2.3 文本控件——UILabel 25

2.3.1 使用UILabel在屏幕上创建一个标签控件 26

2.3.2 自定义标签控件的相关属性 26

2.3.3 多行显示的UILabel与换行模式 27

2.4 按钮控件——UIButton 29

2.4.1 创建一个按钮来改变屏幕颜色 29

2.4.2 更加多彩的UIButton控件 32

2.5 文本输入框控件——UITextField 33

2.5.1 在屏幕上创建一个输入框 33

2.5.2 UITextField的常用属性介绍 35

2.5.3 UITextField的代理方法 36

2.5.4 实现一个监听输入信息的用户名输入框 37

2.6 开关控件——UISwitch 38

2.6.1 创建一个开关控件 38

2.6.2 为UISiwtch控件添加触发方法 39

2.7 分页控制器——UIPageControl 40

2.8 分段控制器——UISegmentedControl 41

2.8.1 UISegmentControl基本属性的应用 41

2.8.2 对UISegmentedControl中的按钮进行增、删、改操作 42

2.8.3 UISegmentedControl中按钮宽度的自适应 43

2.9 滑块控件——UISlider 43

2.9.1 UISlider的创建与常规设置 44

2.9.2 对UISlider添加图片修饰 45

2.10 活动指示器控件——UIActivityIndicatorView 45

2.11 进度条控件——UIProgressView 47

2.12 步进控制器——UIStepper 48

2.12.1 步进控制器的基本属性使用 48

2.12.2 自定义UIStepper按钮图片 49

2.13 选择器控件——UIPickerView 49

2.13.1 创建一个UIPickerView控件 50

2.13.2 UIPickerView选中数据时的回调代理 51

2.14 通过CALayer对视图进行修饰 52

2.14.1 创建圆角的控件 52

2.14.2 创建带边框的控件 52

2.14.3 为控件添加阴影效果 53

2.15 警告控制器——UIAlertController 54

2.15.1 UIAlertController的警告框 54

2.15.2 UIAlertController之活动列表 56

2.16 扩展篇 57

2.16.1 搜索栏控件——UISearchBar 57

2.16.2 日期时间选择器——UIDatePicker 59

2.16.3 警告视图——UIAlertView 61

2.16.4 活动列表——UIActionSheet 62

2.17 实战:登录注册界面的搭建 62

第3章 高级UI控件 68

3.1 导航控制器——UINavigationController 69

3.1.1 导航控制器的工作原理 69

3.1.2 使用导航控制器进行多界面搭建 70

3.1.3 导航栏UINavigationBar 73

3.1.4 导航按钮UIBarButtonItem 74

3.1.5 导航控制器的工具栏 77

3.1.6 iOS 8之后导航控制器的一些有趣功能 77

3.2 标签控制器——UITabBarController 78

3.2.1 标签控制器的工作原理 78

3.2.2 标签控制器的基础用法解析 78

3.2.3 关于UITabBarItem的使用 80

3.3 滚动视图——UIScrollView 81

3.3.1 使用UIScrollView展示视图内容 81

3.3.2 UIScrollView的代理方法 83

3.4 网络视图——UIWebView 84

3.4.1 App网络传输安全策略 85

3.4.2 通过网络请求加载UIWebView 86

3.4.3 通过HTML字符串加载UIWebView 86

3.4.4 通过NSData数据加载UIWebView 87

3.4.5 UIWebView中常用方法解析 88

3.4.6 UIWebView的代理方法 89

3.5 表格视图——UITableView 90

3.5.1 UITableView的创建与复用机制 90

3.5.2 创建一个表格视图UITableView 91

3.5.3 关于表格数据的载体UITableViewCell 93

3.5.4 设置UITableView的行高和头尾视图 95

3.5.5 UITableView的用户交互行为 96

3.5.6 为UITableView添加索引栏 99

3.6 复杂布局视图——UICollectionView 99

3.6.1 UICollectionView控件的优势与布局方式 100

3.6.2 使用UICollectionView进行九宫格式的布局 100

3.6.3 创建更加灵活的流式布局 102

3.6.4 自定义UICollectionViewFlowLayout进行参差瀑布流布局 103

3.6.5 使用UICollectionView进行圆环布局 106

3.7 实战:开发一款手机网页浏览器 109

3.7.1 网页浏览器工程的搭建 110

3.7.2 核心网页视图的设计 111

3.7.3 历史记录界面的设计 119

3.7.4 收藏界面的设计 122

3.7.5 启动页面、图标及应用名称的相关优化 124

第4章 网络编程 127

4.1 使用NSURLConnection请求网络数据 128

4.1.1 申请一个免费的API服务 128

4.1.2 使用NSURLConnection进行API服务数据的获取 131

4.1.3 使用NSURLConnection进行异步网络请求 132

4.1.4 使用NSURLConnection类通过代理回调的方式异步进行网络请求 134

4.2 设计封装一个更加易用的网络请求类 135

4.2.1 设计自定义的网络请求连接类 135

4.2.2 设计自定义的网络请求连接管理类 136

4.3 JSON类型数据的解析与数据模型的设计 139

4.3.1 JSON数据简介 139

4.3.2 在iOS中解析JSON数据 141

4.3.3 数据模型Model类的设计 142

4.4 使用CocoaPods进行第三方库的管理 146

4.4.1 在MAC上安装CocoaPods 146

4.4.2 用CocoaPods搭建一个使用第三方网络请求框架AFNetworking的工程 148

4.5 使用AFNetworking进行网络请求 150

4.5.1 详解HTTP/HTTPS协议 150

4.5.2 使用AFNetworking进行网络请求 151

4.6 实战:开发“笑一笑”应用程序 153

4.6.1 工程项目框架的搭建 154

4.6.2 “笑一笑”界面数据载体cell的设计 155

4.6.3 “笑一笑”界面的搭建 157

4.6.4 实现下拉刷新与加载更多功能 162

4.6.5 “趣图吧”界面数据载体cell的设计 164

4.6.6 “趣图吧”界面的设计 167

第5章 音视频开发 172

5.1 iOS音频开发基础——AVAudioPlayer类的使用 173

5.1.1 使用AVAudioPlayer进行MP3音频文件的播放 173

5.1.2 进行音频播放相关属性的控制 175

5.1.3 后台播放音频及用户交互的优化 180

5.2 iOS视频开发基础 184

5.2.1 使用MPMoviePlayerController向应用中嵌入视频模块 184

5.2.2 MPMoviePlayerController常用属性与方法解析 185

5.3 视频播放器视图控制器——MPMoviePlayerViewController 189

5.4 AVPlayerViewController视频播放框架与画中画开发技术 191

5.4.1 使用AVPlayerViewController进行视频播放 191

5.4.2 iPad的画中画播放技术 193

5.5 实战:“天后王菲”音频播放器的开发 195

5.5.1 工程搭建与LRC歌词文件简介 196

5.5.2 LRC歌词解析引擎的设计 197

5.5.3 核心播放器引擎的设计 201

5.5.4 歌曲列表与歌词显示视图界面的设计 208

5.5.5 播放器主页面的实现 213

5.5.6 后台播放音频用户交互的处理 219

第6章 动画开发 221

6.1 使用UIImageView播放图片组帧动画 222

6.2 UIView层动画的应用 223

6.2.1 执行UIView层过渡动画的三个类方法 223

6.2.2 创建UIView层的阻尼动画 225

6.2.3 动画参数配置与组合动画 225

6.2.4 UIView层过渡动画支持的属性 227

6.3 使用commit方式进行UIView层动画的创建 228

6.3.1 使用commit方式进行UIView层过渡动画的创建 228

6.3.2 两种UIView层动画创建方式的优劣 230

6.4 UIView的转场动画 230

6.4.1 重绘UIView视图时使用的转场动画 230

6.4.2 切换UIView视图时使用的转场动画 231

6.5 核心动画编程技术——CoreAnimation 232

6.5.1 锚点对视图控件几何位置的影响 233

6.5.2 色彩梯度层——CAGradientLayer 234

6.5.3 视图拷贝层——CAReplicatorLayer 235

6.5.4 图形渲染层——CAShapeLayer 236

6.5.5 文本绘制层——CATextLayer 237

6.5.6 CAAnimation动画体系介绍 238

6.5.7 使用CABasicAnimation创建基础动画 240

6.5.8 使用CAKeyframeAnimation类创建关键帧动画 242

6.5.9 CALayer层的转场动画——CATransition 243

6.5.10 CALayer层的组合动画——CAAnimationGroup 245

6.5.11 CATransform3D变换的应用 246

6.6 炫酷的粒子效果 248

6.6.1 粒子发射器——CAEmitterLayer 248

6.6.2 粒子单元——CAEmitterCell 250

6.6.3 创建粒子火焰动画 251

6.7 播放GIF动态图 253

6.7.1 使用UIWebView进行GIF动态图播放 253

6.7.2 使用UIImageView帧动画进行GIF动态图播放 254

6.8 实战:小游戏Flappy Bird的设计与开发 256

6.8.1 小鸟对象的设计 257

6.8.2 游戏开始界面的设计 259

6.8.3 游戏结束界面的设计 261

6.8.4 Flappy Bird游戏主框架的搭建 262

第7章 传感器开发 270

7.1 为应用程序添加手机密码及指纹识别的安全验证 271

7.1.1 使用手机密码为应用程序添加安全验证 271

7.1.2 使用用户指纹为应用程序添加安全验证 273

7.2 使用加速度传感器、螺旋仪传感器与磁力传感器获取设备空间状态 274

7.2.1 使用UIAccelerometer获取设备空间状态 274

7.2.2 使用CoreMotion框架获取设备空间状态信息 275

7.3 距离传感器的应用 278

7.4 iOS蓝牙开发技术 279

7.4.1 中心设备管理类CBCentralManager 280

7.4.2 外围设备管理类CBPeripheralManager 285

7.5 GPS应用与地图编程技术 289

7.5.1 进行设备地理位置定位 289

7.5.2 原生地图开发技术 292

7.5.3 在地图中添加大头针及标注 294

7.5.4 在地图视图中添加覆盖物 297

7.5.5 在地图中进行线路导航与附近兴趣点检索 299

7.6 实战:简易蓝牙对战五子棋 304

7.6.1 游戏核心通信类的设计 304

7.6.2 棋盘瓦片的设计 314

7.6.3 核心游戏视图与游戏核心逻辑的设计 315

7.6.4 核心游戏视图控制器的设计 325

第8章 界面布局 329

8.1 iOS中传统的UIViewAutoresizing布局模式 330

8.1.1 通过代码来设置视图控件的UIViewAutoresizing模式 330

8.1.2 在xib文件中可视化地配置控件的autoresizing属性 332

8.2 Autolayout自动布局框架 333

8.2.1 初识Autolayout 334

8.2.2 Autolayout的属性意义与一个简单的自动布局示例 335

8.2.3 使用Objective-C风格的方法进行代码Autolayout布局 338

8.2.4 使用格式化的字符串进行Autolayout布局对象的创建 341

8.2.5 与约束相关的几个方法 343

8.2.6 使用Autolayout设计一个高度自适应的聊天输入框及动画优化 343

8.2.7 使用第三方库Masonry进行Autolayout约束布局 345

第9章 数据持久化 351

9.1 使用plist文件进行轻量级数据持久化管理 352

9.1.1 在工程中读取plist文件数据 352

9.1.2 在程序沙盒Doucments目录中创建和使用plist文件 353

9.1.3 使用NSUserDefaults类进行数据持久化 354

9.2 使用归档技术进行数据模型持久化 356

9.2.1 进行单一系统数据类型的归档与解归档操作 356

9.2.2 对多个对象进行数据归档 357

9.2.3 进行自定义数据模型的归档 358

9.3 小型数据库SQLite在iOS开发中的应用 360

9.3.1 SQLite数据库常用语法介绍 360

9.3.2 使用iOS原生框架sqlite3对SQLite数据库进行操作 362

9.4 核心数据管理框架CoreData的使用 367

9.4.1 使用CoreData设计数据模型 367

9.4.2 CoreData编程框架中3个重要的类 370

内容摘要:

《iOS开发实战:从零基础到App Store上架》一书由一线软件工程师结合实际应用编写而成,由浅入深系统地介绍了iOS应用从开发、调试到打包、上架的完整过程。本书主体由各个基础模块组成,由实战项目连接,在帮助读者掌握原理的同时轻松上手开发出自己的应用。 为方便读者学习,作者还为本书精心录制了“7天玩转iOS UI开发视频教程”,本视频教程包括基础篇、中级篇、高级篇、进阶篇、扩展篇5部分,总计36堂课,播放时长超过13小时。此外,本书还提供iOS UI开发视频教程源代码以及本书实例源代码。本书的特色是通俗易学,突出实战,提供了大量开发案例,适合于刚入职或新手iOS开发人员和爱好者、大中专院校学生及iOS培训班学员,尤其适合有一定语言基础想要开发App产品的开发者。

编辑推荐:

本书作者珲少在中国唯品会做过多年iOS开发,拥有丰富的开发经验,这本书是作者珲少在工作之余,利用周末和晚上的时间完成的,倾注了作者半年多的心血,在此对珲少这种无私乐于分享的精神表示敬意。
这本书从零基础开始,介绍了iOS开发产品的全过程,在讲解叙述上尽量使用了非常简洁、通俗易懂的语言,非常容易上手和看懂学会。
在讲解的过程中使用了大量示例和图示来表述,结合开发经验、技巧和详尽的代码注解,同时在各章配合项目开发,读者可以边学边练,尽快掌握实用的开发技能。
作者还为本书录制了iOS UI 设计的视频教学课程,详细地讲解了App UI设计开发的核心内容,视频播放时长超过13个小时,同时提供了全书的源代码,非常超值。
这是一本专业且易于学习的iOS开发实战书,我认为这本书非常值得一读,特别是对于从来没有开发过iOS App产品的读者将会有很大帮助。

书籍规格:

书籍详细信息
书名iOS开发实战站内查询相似图书
9787302441847
如需购买下载《iOS开发实战》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)79.0语种简体中文
尺寸26 × 19装帧平装
页数印数 3500

书籍信息归属:

iOS开发实战是清华大学出版社于2016.出版的中图分类号为 TN929.53 的主题关于 移动终端-应用程序-程序设计 的书籍。