PDF 课件和源代码下载地址:
作者回复: 大概是这样,我身边大部分团队使用AutoLayout的,都使用了一些语法糖类型的框架。
作者回复: 通常情况下layoutSubviews会调用多次,包括view尺寸变化的时候,init只会调用一次。所以对于依赖父View bounds变化的子view来说,设置frame 最好放到layoutSubviews中随时的响应调整,而不依赖的子view其实放到哪里都可以。同样的如果仅仅依赖数据的应该放到设置数据的时候,如果放到layoutSubviews中会调用多次。整体上就是要看布局的逻辑是依赖什么,是独立的/依赖数据/还是依赖父view或其他view。如果view较少不影响性能,保证UI展示正确的前提下,并没有什么强制的要求。
作者回复: 主要就是协助布局VFL中的视图元素的排列方向和位置属性。NSLayoutFormatOptions其实可以简单的对应NSLayoutAttribute,比如从左布局、从右布局、居中等,我们在代码中constraintWithItem方法也讲解过NSLayoutAttribute的使用。当然NSLayoutFormatOptions会和VFL以及其他使用NSLayoutConstraint的约束产生一些冲突,所以在使用的过程中也需要注意下。其实最好的研究系统函数的方法就是写小Demo,我们可以创建一个简单的view使用AutoLayout布局,然后修改不同的NSLayoutFormatOptions观察下效果。
作者回复: 为了讲解演示,项目中一部分图标使用的Bundle管理,一部分图标使用的Asset管理的。
作者回复: 你提供的地址,clone下来文件夹内是空的。检查下Signing&Capabilities 中,Automatically manage signing是否有勾选,如果是勾选的,取消一下就可以在下面选择对应的Provisioning profile等。