书籍作者:郭晓亮 | ISBN:9787121317217 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:6626 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
这是一本详细讲解如何使用 Interface Builder 的书籍,主要讲解如何利用 Interface Builder快速、高效地开发 UI。本书从 Interface Builder 菜单、UIKit 控件这些基础知识到如何使用Interface Builder 鲜为人知的高级功能、如何利用 Interface Builder 进行代码的优化等都进行了详细讲解,内容覆盖了利用 Interface Builder 开发 UI 所涉及的各个知识点。除此之外,本书还着重介绍了经常与 Interface Builder 配合使用的 Auto Layout,以及很多与 UI 学习甚至与iOS 开发学习相关的知识。本书理论与实践相结合,理论部分全面而且深入,让读者知其所以然,实践部分不仅讲到了在开发中经常遇到的情况,而且也关注了一些非常重要的细节。本书适合想快速、高效地开发 UI,想学习 Interface Builder 的各个层次的开发人员阅读,对于 iOS 的 UI 学习来说,本书也具有很强的指导意义。
郭晓亮
一直奋斗在iOS开发一线的大龄“码农”,从iOS4开始就与Xcode ”纠缠”,像大多数人一样,默默地享受着技术带来的快乐和成就感;像大多数人一样,没有干过“惊天动地”的项目,但岁月磨灭不了一颗热爱技术的心。
使用Interface Builder是UI开发的大势所趋。
第 1 章 Interface Builder 概要 ......................................... 1
1.1 Interface Builder 简介 1
1.1.1 Interface Builder 是什么 1
1.1.2 xib 是什么 2
1.1.3 拓展学习:Bundle 概念的理解 4
1.1.4 理解 Bundle 对于 IB 的指导意义 5
1.1.5 storyboard 是什么 5
1.1.6 nib 是什么 6
1.1.7 storyboardc 是什么 8
1.2 Interface Builder 的优点 9
1.2.1 开发和维护效率高 9
1.2.2 减少大量的 UI 代码和“胶水代码” 10
1.2.3 适配变得十分简单 10
1.2.4 IB 也可以做一些非 UI 的事情 11
1.2.5 利用 IB 学习控件可以达到事半功倍的效果 11
1.3 Interface Builder 的缺点 11
1.3.1 IB 的执行效率没有纯代码高 12
1.3.2 使用 IB 开发的过程中容易出现一些小问题 12
1.3.3 有一定的学习成本 13
1.3.4 文件易冲突 13
1.3.5 没有代码表达清晰 13
1.3.6 不利于代码的封装和工程架构的组织 13
1.4 Interface Builder 学习的特点 14
1.4.1 简单、容易入门 14
1.4.2 容易犯错误 14
1.4.3 有很多“坑” ,需要积累属于自己的经验 14
1.5 Interface Builder 的发展 15
1.6 拓展学习:CocoaPods 15
1.6.1 CocoaPods 介绍 15
1.6.2 Podfile 文件与 CocoaPods 的三种依赖方式 17
1.6.3 podspec 文件 18
第 2 章 使用 Interface Builder ......................................... 21
2.1 解决冲突 21
2.1.1 解决普通 IB 文件冲突 21
2.1.2 解决 Xcode 8 引起的 IB 文件冲突 22
2.2 创建 xib 文件 24
2.3 “关联”xib 文件与源文件 24
2.3.1 “关联”xib 文件与 UIView 子类的源文件 25
2.3.2 @IBOutlet 与 @IBAction 26
2.3.3 拓展学习:设计模式之 MVC 29
2.3.4 理解 File’s Owner 32
2.3.5 “关联”xib 文件与 UIViewController 子类的源文件 33
2.3.6 总结 xib“关联”源文件 34
2.4 使用 xib 36
2.4.1 使用与 UIView 子类源文件关联的 xib 37
2.4.2 使用与 UIViewController 子类源文件关联的 xib 44
2.4.3 xib 嵌套使用的问题 46
2.4.4 深入学习:加载非 main bundle 中的资源 48
2.5 拓展学习:创建 Bundle 51
2.5.1 使用简单的方法创建普通的 Bundle 51
2.5.2 创建基于 macOS Bundle 的 Target 来获得 Bundle 51
2.6 创建 storyboard 53
2.7 使用 storyboard 54
2.8 对比 xib 和 storyboard 的使用情况 55
2.9 拓展学习:App 启动过程分析与 UIApplication 自定义举例 56
第 3 章 全面学习 xib.................................................. 63
3.1 操作页面 63
3.2 介绍 Utilities 中的检查器 64
3.2.1 Show the File inspector(文件检查器) 65
3.2.2 Show Quick Help inspector(快速帮助检查器) 67
3.2.3 Show the Identity inspector(ID 检查器) 67
3.2.4 Show the Attributes inspector(属性检查器) 69
3.2.5 Show the Size inspector(尺寸检查器) 85
3.2.6 Show the Connections inspector(连接检查器) 87
3.2.7 “连线”方式总结 88
3.3 Show the Object library 菜单 91
3.4 在 xib 中使用 UITableView 94
3.4.1 将基于 sb 的工程变成基于 xib 的工程 94
3.4.2 利用 xib 简单展示 UITableView 95
3.4.3 利用 xib 自定义 UITableViewCell 96
3.4.4 利用 xib 自定义 UITableViewCell 的使用 99
3.5 Asset Catalog 100
3.5.1 使用 Asset Catalog 101
3.5.2 Asset Catalog 的优缺点 104
第 4 章 在 Interface Builder 中使用 Auto Layout ........................ 105
4.1 IB 与 Auto Layout 105
4.1.1 学习 Auto Layout 的特点 105
4.1.2 在 IB 中使用 Auto Layout 的优缺点 106
4.2 深刻理解 Auto Layout 106
4.2.1 如何理解“Auto Layout 有别于 frame 系统” 107
4.2.2 如何理解“添加约束” 110
4.2.3 如何理解“间接表示” 111
4.3 约束 112
4.3.1 Auto Layout 的数学公式 112
4.3.2 约束属性 113
4.3.3 约束关系 114
4.3.4 multiplier 与 constant 115
4.3.5 约束的创建与添加 115
4.3.6 约束的优先级 119
4.4 Auto Layout 相关菜单介绍 120
4.4.1 Update frames 介绍 120
4.4.2 Embed In Stack 介绍 123
4.4.3 Align 介绍 124
4.4.4 Add New Constraints 介绍 125
4.4.5 Resolve Auto Layout Issues 介绍 127
4.5 Show the Size inspector 再介绍 128
4.5.1 Constraints 菜单 128
4.5.2 Intrinsic Size――固有尺寸 130
4.5.3 Content Compression Resistance――压缩阻力 131
4.5.4 Content Hugging――内容吸附 133
4.5.5 使用 NSLayoutConstraint 与 @IBOutlet“连线” 134
4.6 设置约束的方法介绍 135
4.6.1 在 IB 中设置约束 135
4.6.2 用苹果原生的 API 设置约束 136
4.6.3 用 VFL(Visual Format Language)设置约束 138
4.6.4 通过第三方库设置约束 139
4.7 在 Interface Builder 中使用 Auto Layout 进行布局的实践 140
4.7.1 用 Auto Layout 布局拨打电话页面 142
4.7.2 stackView 的使用 148
4.7.3 拓展学习:FDStackView 151
4.7.4 拓展学习: “黑魔法”――实现在低版本中使用高版本中才存在的类 152
4.7.5 Auto Layout 的异类――UIScrollView 159
第 5 章 storyboard 全面学习 .......................................... 164
5.1 Inspector 其他菜单和标签的使用 165
5.1.1 使用 View Controller 165
5.1.2 使用 Page View Controller 167
5.1.3 使用 Table View Cell 169
5.2 使用 Extra View 171
5.3 使用 storyboard 中的 segue 173
5.3.1 使用 Relationship Segue 173
5.3.2 常见的 Segue 选项 175
5.3.3 如何利用 Segue 传参 178
5.3.4 更灵活的 segue 179
5.3.5 自定义的 segue 180
5.3.6 拓展学习:iOS 中内存管理简介 181
5.3.7 深入学习:Embed Segue 184
5.3.8 Embed Segue 与 UIPageViewController 的配合使用 188
5.3.9 深入学习:Unwind segue 193
5.4 在 sb 中使用 UITableView 198
5.4.1 在 sb 中使用自定义 tableViewCell 199
5.4.2 在 sb 中给 UITableView 添加 tableHeaderView 和 tableFooterView 203
5.4.3 segue 在 UITableView 中的使用 204
5.4.4 在 sb 中使用静态 cell 205
5.5 在 sb 中使用 UICollectionView 208
5.6 Use as Launch Screen 212
5.6.1 Launch Screen 的使用 212
5.6.2 使用 Launch Screen 的好处 213
第 6 章 Interface Builder 进阶 ......................................... 217
6.1 Use Trait Variations 217
6.2 User Define Runtime Attribute 222
6.3 IB 文件的加载过程 224
6.4 本地化 228
6.4.1 本地化的介绍 228
6.4.2 文本的本地化 230
6.4.3 Info.plist 的本地化 234
6.4.4 图片资源的本地化 235
6.4.5 App 内设置语言的本地化 236
6.5 Storyboard Reference 的使用 240
6.6 使用 RBStoryboardLink 242
6.7 用 Object 重构“神 VC” 244
6.7.1 使用 Object 245
6.7.2 用 Object 重构“神 VC”的思路 248
6.7.3 如何用好 Object 250
6.8 用 External Object 重构“神 VC” 251
6.8.1 xib 中 External Object 的使用 251
6.8.2 用 External Object 重构“神 VC”的思路 253
6.8.3 Object 和 External Object 总结 254
6.9 IB 中的关键字总结 256
6.9.1 @IBAction 256
6.9.2 @IBOutlet 257
6.9.3 @IBDesignable 258
6.9.4 @IBInspectable 263
6.9.5 User Defined Runtime Attributes、@IBDesignable、@IBInspectable 总结 265
第 7 章 在 Interface Builder 开发中的技巧和 bug ....................... 268
7.1 调整 View 的尺寸,使它与显示内容的尺寸相适应 268
7.2 查看各个 View 之间的距离 269
7.3 在 IB 中添加参考线 269
7.4 快速调整底层被挡住 View 的位置 270
7.5 快速查看 View 的 UI 层次关系 271
7.6 “连线”小技巧 272
7.7 使用“吸管”快速设置颜色 273
7.8 IB 中的复制与粘贴 274
7.9 利用 Media Library 快速设置图片 274
7.10 IB 开发中遇到的一些小 bug 275