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

Jam*_*sev 59 objective-c storyboard ios xcode4.2

当手动加载视图时,开发人员在初始化时仍然处于控制之中,我们选择要调用的初始化程序,要设置的变量等.

当从故事板segue加载视图时......初始化程序会发生什么?应该在哪里设置变量我希望在加载视图后可用?

请帮我理解这里的顺序.如何在这里创建类的实例,谁创建它,我们如何干预并帮助我们按照自己的喜好进行设置?

Cal*_*leb 92

从nib或storyboard加载视图时,会-initWithCoder:调用它的方法.喜欢-initWithFrame:,-initWithCoder:是UIView的指定初始化程序.如果您要为UIView子类进行任何自定义初始化,则应确保这两种方法都发生了这种情况.一个常用的技术是添加你都调用了同一个共同的初始化方法-initWithFrame:-initWithCoder:.请参阅自定义视图的回答并实现init方法?有关更详细的说明.

请注意,文档-initWithFrame:说明:

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