第一部分 WatchKit基础知识 2
第1章 WatchKit简介 2
1.1 WatchKit应用程序架构 2
1.2用户交互的种类 3
1.2.1 Glance 3
1.2.2 Notification 3
1.2.3 WatchKit App 4
1.3开发Apple Watch的装备 5
1.4小结 5
第2章 WatchKit界面定位排版 6
2.1界面预览 6
2.2界面排版布局和界面介绍 6
2.2.1界面排版 6
2.2.2界面元素 Group 7
2.3创建项目并添加Watch AppTarget 7
2.4界面布局 9
2.5运行Watch App 13
2.6小结 13
第3章 WatchKit界面Size(大小)设置 14
3.1界面预览 14
3.2界面元素大小(Size)的三种设置方式 15
3.2.1 Size to fit 15
3.2.2 Fixed size 15
3.2.3 Relative to container 15
3.3添加新的故事版 15
3.4界面布局 16
3.5运行Watch App 21
3.6小结 22
第4章 WatchKit的Action和Outlet的使用 23
4.1界面预览 23
4.2 Action和Outlet介绍 23
4.3添加和绑定类 24
4.4设置界面的Outlet和Action 27
4.5小结 28
第5章 Segue的使用 29
5.1界面预览 29
5.2 Segue简介 30
5.3 Push和Modal介绍 30
5.3.1 Push 30
5.3.2 Modal 30
5.4项目实战练习 30
5.4.1在代码中使用Segue 31
5.4.2在Storyboard中使用Segue 32
5.5小结 32
第6章 使用Segue传递数据 33
6.1界面预览 33
6.2界面控制器生命周期简介 33
6.2.1 awakeWithContext(context: AnyObject?) 33
6.2.2 func willActivate() 33
6.2.3 func didDeactivate() 34
6.3使用Segue传递数据介绍 34
6.3.1使用代码触发Segue传递数据 34
6.3.2使用Storyboard传递数据 34
6.4项目实战练习 34
6.4.0在Storuboard中使用Segue传递数据 34
6.5小结 36
第7章 列表(Table) 37
7.1界面预览 37
7.2Table介绍 38
7.3Table相关使用方法的介绍 38
7.4创建一个列表 39
7.5创建一个更好的界面 44
7.6建立一个更复杂的Table 47
7.6.1增加一个列表行 47
7.6.2添加控制器和连线 51
7.6.3行选择处理 54
7.7小结 55
第8章 菜单 56
8.1界面预览 56
8.2菜单介绍 56
8.3项目实战练习 57
8.4小结 60
第9章 综合实战演练 61
9.1界面预览 61
9.2添加Target 62
9.3 Apple Watch UI设计 63
9.4 API导入 66
9.5代码实现 68
9.6小结 70
第二部分 watchKit中级技巧 72
第10章 数据共享 72
10.1在一个共享容器中访问数据 72
10.1.1直接读写文件 73
10.1.2使用Core Data和SQLite 73
10.1.3使用NSUserDefaults 74
10.2建立App组 76
10.2.1建立App组 76
10.2.2启用App组 79
10.3远程更新一个共享文件 82
10.3.1开始更新 82
10.3.2迁移数据至一个共享容器 83
10.3.3从远程服务器更新一个文件 86
10.3.4更新WatchKit Extension 91
10.3.5共享文档的最佳实践 94
10.4小结 94
第11章 Glance(速览) 95
11.1准备工作 95
11.1.1设计一个速览 96
11.1.2创建速览界面控制器 96
11.1.3添加速览至storyboard 98
11.2创建速览构建方案(Build Scheme) 99
11.3在storyboard中设计速览 101
11.3.1设置背景和字体 101
11.3.2速览中文字的自适应 104
11.4挂钩控制器 107
11.5数据运算 108
11.6小结 112
第12章 用Handoff紧密相连 114
12.1 Handoff API:观其大略 114
12.1.0 Handoff的螺钉和螺母 115
12.2用Handoff协作 117
12.2.1创建一个用户行为 117
12.2.2接收一个用户行为 119
12.3 Handoff最佳实践 122
12.4小结 123
第三部分 WatchKit高级功能 125
第13章 通知 125
13.1开始 125
13.1.1了解Watch模拟器 125
13.1.2设置一个图标 130
13.1.3 Short Look与Long Look 130
13.2创建一个本地通知 132
13.2.1了解一下定时通知 132
13.2.2创建自定义界面 133
13.2.3处理响应 138
13.2.4发送本地通知 139
13.3小结 141
第14章 图片缓存和动画 142
14.1 WatchKit中的图片 143
14.1.1缓存图片 143
14.1.2显示图片 144
14.2 WatchKit中动画 149
14.2.1创建动画 149
14.2.2创建Health & Fitness风格弧光 153
14.3小结 157
第15章 性能与技巧 158
15.1 WatchKit的性能 158
15.1.1通信瓶颈 159
15.1.2许可瓶颈 160
15.1.3网络瓶颈 160
15.1.4其他瓶颈 162
15.2小结 162
第16章 Apple Watch U I设计指南 163
16.1 UI基础 163
16.1.1导航与交互 164
16.1.2 Glance 164
16.1.3通知 164
16.1.4模态视图(Modal Sheets) 165
16.1.5布局 165
16.1.6颜色和字体 166
16.1.7动画效果 166
16.1.8品牌形象 166
16.2 UI元素 167
16.2.1文本标签(Label) 167
16.2.2图像(Image) 167
16.2.3组(Group) 168
16.2.4表格(Table) 169
16.2.5按钮(Button) 169
16.2.6开关(Switch) 170
16.2.7滑块(Slider) 170
16.2.8地图(Map) 171
16.2.9日期和计时器(Date) 172
16.2.10菜单(Menu) 172
16.3图标和图像设计 173
16.3.1图标和图像尺寸 173
16.3.2菜单图像 174
第17章 Watch Kit V.S.UIKit 175
17.1 WKInterfaceController 176
17.2 WKInterfaceObject 177
17.3 WKInterfaceButton 179
17.4 WKInterfaceTable 179
17.5 WKInterfaceLabel 179
17.6 WKInterfaceDate&WKInterfaceTimer 180
17.7 WKInterfaceSlider&WKInterfaceSwitch 180
第18章 WatchKit开发贴士 181
18.1总指导原则 181
18.1.1用时序化的图像生成动画 181
18.1.2把图像时序保存在Apple Watch 182
18.1.3使用设置包(settingsbundle) 182
18.1.4直接听写 182
18.1.5状态保存 182
18.2性能优化 183
18.2.1通信流量(traffic)最小化 183
18.2.2有变动时才更新 183
18.2.3延缓载入(lazily) 183
18.2.4快速初始化页码控制器 184
18.2.5简化控制器场景 184
18.2.6用更少的行提升载入时间 184
18.3与iPhone通信 184
18.3.1 iPhone App应承担大部分苦力活 184
18.3.2用App组来共享数据 184
18.3.3使用Handoff 184
18.3.4用框架(framework)共享代码 185
18.4小结 185
后记 186