《iOS UI开发捷径 利用Interrface Buider高效、优雅》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:郭晓亮著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121317214
  • 页数:274 页
图书介绍:

第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 解决Xcode8引起的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 深入学习:加载非mainbundle中的资源 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 学习AutoLayout的特点 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进阶 216

6.1 Use Trait Variations 216

6.2 User Define Runtime Attribute 221

6.3 IB文件的加载过程 223

6.4 本地化 227

6.4.1 本地化的介绍 227

6.4.2 文本的本地化 229

6.4.3 Info.plist的本地化 233

6.4.4 图片资源的本地化 234

6.4.5 App内设置语言的本地化 235

6.5 Storyboard Reference的使用 239

6.6 使用RBStoryboardLink 241

6.7 用Object重构“神VC” 243

6.7.1 使用Object 244

6.7.2 用Object重构“神VC”的思路 247

6.7.3 如何用好Object 249

6.8 用External Object重构“神VC” 250

6.8.1 xib中External Object的使用 250

6.8.2 用External Object重构“神VC”的思路 252

6.8.3 Object和External Object总结 253

6.9 IB中的关键字总结 255

6.9.1 @IBAction 255

6.9.2 @IBOutlet 256

6.9.3 @IBDesignable 257

6.9.4 @ IBInspectable 262

6.9.5 User Defined Runtime Attributes、@IBDesignable、@IBInspectable总结 264

第7章 在Interface Builder开发中的技巧和bug 267

7.1 调整View的尺寸,使它与显示内容的尺寸相适应 267

7.2 查看各个View之间的距离 268

7.3 在IB中添加参考线 268

7.4 快速调整底层被挡住View的位置 269

7.5 快速查看View的UI层次关系 270

7.6 “连线”小技巧 271

7.7 使用“吸管”快速设置颜色 272

7.8 IB中的复制与粘贴 273

7.9 利用Media Library快速设置图片 273

7.10 IB开发中遇到的一些小bug 274