内容简介
本书采用全新的iOS 7 API,详细介绍了iOS 7开发相关的知识点。本书共分为4个部分:第一部分为基础篇,介绍了iOS的一些基础知识;第二部分为网络篇,介绍了iOS网络开发相关的知识;第三部分为进阶篇,介绍了iOS内容、商业思考等;第四部分为实战篇,从无到有地介绍了两个真实的iOS应用:MyNotes应用和2016里约热内卢奥运会应用。
本书适用于iOS应用开发人员、大学老师、培训学员以及对于iOS开发感兴趣的群体使用,也可作为iOS培训教材使用。
目录
第一部分 基 础 篇
第1章 开篇综述 2
1.1 iOS概述 2
1.1.1 iOS介绍 2
1.1.2 iOS 7新特性 2
1.2 开发环境及开发工具 3
1.3 本书中的约定 4
1.3.1 案例代码约定 5
1.3.2 图示的约定 5
第2章 第一个iOS应用程序 7
2.1 创建HelloWorld工程 7
2.1.1 创建工程 7
2.1.2 Xcode中的iOS工程模板 12
2.1.3 应用剖析 13
2.2 HelloWorld工程中故事板文件Main.storyboard 16
2.2.1 故事板的导航特点 16
2.2.2 故事板中的Scene和Segue 17
2.3 应用生命周期 17
2.3.1 非运行状态——应用启动场景 19
2.3.2 点击Home键——应用退出场景 20
2.3.3 挂起重新运行场景 21
2.3.4 内存清除——应用终止场景 22
2.4 视图生命周期 22
2.4.1 视图生命周期与视图控制器关系 23
2.4.2 iOS UI状态保持和恢复 24
2.5 设置产品属性 26
2.5.1 Xcode中的Project和Target 26
2.5.2 设置常用的产品属性 28
2.6 iOS API简介 30
2.6.1 API概述 30
2.6.2 如何使用API帮助 32
2.7 小结 34
第3章 UIView与控件 35
3.1 视图“始祖”——UIView 35
3.1.1 UIView“家族” 35
3.1.2 应用界面的构建层次 37
3.1.3 视图分类 38
3.2 标签控件和按钮控件 38
3.2.1 标签控件 39
3.2.2 按钮控件 39
3.2.3 动作和输出口 41
3.3 TextField控件和TextView控件 43
3.3.1 TextField控件 44
3.3.2 TextView控件 44
3.3.3 键盘的打开和关闭 45
3.3.4 关闭和打开键盘的通知 46
3.3.5 键盘的种类 47
3.4 开关控件、滑块控件和分段控件 48
3.4.1 开关控件 49
3.4.2 滑块控件 49
3.4.3 分段控件 49
3.5 网页控件WebView 50
3.5.1 WebView介绍 50
3.5.2 使用WebView构建Hybrid应用 53
3.6 屏幕滚动控件ScrollView 58
3.6.1 ScrollView属性的设置 58
3.6.2 键盘与其他控件的协同 63
3.7 等待相关的控件与进度条 65
3.7.1 活动指示器ActivityIndicatorView 66
3.7.2 进度条ProgressView 66
3.8 警告框和操作表 67
3.8.1 警告框alertView 67
3.8.2 操作表ActionSheet 69
3.9 工具栏和导航栏 70
3.9.1 工具栏 70
3.9.2 导航栏 73
3.10 屏幕布局 77
3.10.1 iPad、iPhone和iPhone 5屏幕布局 77
3.10.2 布局和相对布局 78
3.10.3 使用AutoLayout布局 80
3.10.4 旋转你的屏幕 82
3.11 选择器 86
3.11.1 日期选择器 86
3.11.2 普通选择器 88
3.11.3 数据源协议与委托协议 90
3.12 集合视图 92
3.12.1 集合视图介绍 92
3.12.2 集合视图单元格 94
3.12.3 数据源协议与委托协议 97
3.13 小结 97
第4章 表视图 98
4.1 概述 98
4.1.1 表视图的组成 98
4.1.2 表视图的相关类 99
4.1.3 表视图分类 100
4.1.4 单元格的组成和样式 103
4.1.5 数据源协议与委托协议 105
4.2 简单表视图 106
4.2.1 创建简单表视图 106
4.2.2 自定义单元格 110
4.2.3 添加搜索栏 114
4.3
摘要与插图
北京时间2013年9月19日凌晨1点,苹果公司发布了的iOS 7。此次的变化是UI设计风格,苹果放弃了以前的拟物化设计,转而采用扁平化设计。《iOS开发指南:从零基础到App Store上架》是在iOS 7发布之前出版的,上市后得到了广大读者的认可,同时我们也得到很多读者的反馈,希望将这本书升级为iOS 7版本。经过几个月的努力,我们终于在2014年元旦之前将书稿更新完毕。内容和组织结构
本书是我们团队编写的iOS系列图书之一,目的是使具有Objective-C基础的程序员通过学习本书,从零基础学习如何在App Store上发布一款应用。全书共4部分。
第一部分为基础篇,共13章内容,介绍了iOS的一些基础知识。
第1章介绍了iOS的开发背景以及本书约定。
第2章使用故事板技术创建了HelloWorld,同时讨论了iOS工程模板、应用的运行机制和生命周期、视图器的生命周期等,介绍了如何使用API帮助文档和官方案例。
第3章先说明了视图和控件之间的关系以及应用界面的构建层次,然后介绍了标签、按钮、文本框和导航栏等基本控件,接着介绍了屏幕布局的内容以及一个较为复杂的控件——选择器,探讨了iOS中的集合视图。
第4章探讨了表视图的组成、表视图类的构成和表视图的分类,使读者对表视图有一个整体上的认识。接下来介绍了如何实现简单表视图和分节表视图,以及表视图中索引、搜索栏和分组的使用,然后讲解了如何对表视图单元格进行删除、插入、移动等操作,介绍了表视图UI设计模式方面的内容。
第5章讨论了如何判断应用是否需要一个导航功能,并且知道在什么情况下选择平铺导航、标签导航、树形结构导航,或者同时综合使用这3种导航模式。
第6章讨论了iOS开发中4种常用的设计模式,分别为单例模式、委托模式、观察者模式和MVC模式。在介绍每种设计模式时,我们按照问题提出、实现原理、应用案例的结构介绍了其适用情况、实现原理及其用法。
第7章先介绍了iPhone和iPad设备使用场景上的差异,然后深入介绍了iPad专用API,包括UIPopoverController控制器和UISplitViewController控制器。
第8章重点介绍了iOS平台的分层架构设计。
第9章介绍了iOS 7中的文字排版和渲染引擎Text Kit,以及如何利用Text Kit技术实现文本图片混合排版,设置动态字体。
第10章介绍了设置和配置的概念,然后通过对二者差异的探讨,介绍了什么样的项目适合放在设置里,什么样的项目适合放在配置里。
第11章介绍了化概念、内容和目录结构,并详细阐述了文本信息、nib及故事板、资源文件的化。
第12章讨论了iOS本地数据持久化的问题。先分析了数据存取的几种方式以及每种数据存取方式适合什么样的场景,然后分别举例介绍了每种存取方式的实现。
第13章先介绍了访问通讯录所需要的框架,然后介绍了使用AddressBook框架如何读取联系人的信息,具体包括联系人记录、单值多值属性、图片属性的读取;接着介绍了如何使用该框架将联系人信息写入数据库,具体包括联系人的创建、修改和删除;介绍了如何使用AddressBookAPI实现选择联系人、显示和修改联系人以及创建联系人的操作。
第二部分为网络篇,共两章,介绍了iOS网络开发的相关知识。
第14章介绍了数据交换格式,其中XML和JSON是主要的方式。这一章重点介绍了Web Service的访问以及ASIHTTPRequest框架。
第15章讨论了iOS中的定位服务技术,包括地理信息编码和反编码查询。之后介绍了iOS 6苹果地图的使用,包括了显示地图、在地图上添加标注以及跟踪用户位置的变化等。,介绍了程序外地图的使用,如何调用iOS 6苹果地图和谷歌Web地图。
第三部分为进阶篇,