如何通过故事板加载视图初始化?

当手动加载视图时,开发人员在初始化时保持控制权,我们select要调用的初始化程序,设置哪些variables等。

当视图从故事板segue加载…该初始化器会发生什么? 应该在哪里设置variables,我希望一旦视图被加载可用?

请帮我理解这里的顺序。 在这里创build的类的实例是如何创build的?我们如何介入并帮助设置它以满足我们的喜好?

从nib或storyboard加载视图时,调用-initWithCoder:方法。 像-initWithFrame: ,- -initWithCoder:是UIView的指定初始化程序。 如果您要为UIView子类进行任何自定义初始化,则应确保这两种方法都发生。 一种常用的技术是添加一个通用的初始化方法,您可以从-initWithFrame:-initWithCoder:调用。 看到我的答案 自定义视图和实现初始化方法? 为更详细的描述。

请注意, -initWithFrame:的文档解释:

如果使用Interface Builder来devise接口,则在随后从nib文件加载视图对象时,不会调用此方法。 nib文件中的对象被重构,然后使用其initWithCoder:方法进行初始化,该方法修改视图的属性以匹配存储在nib文件中的属性。