我有一个简单的自定义视图,通过插座连接到NIB。对于这个特定的视图,我想在视图初始化时对视图执行一些操作,无论它在哪个NIB上。
麻烦的是,在自定义视图上调用(id)init或(id)initWithFrame:(CGRect)框架方法。
当从UIB实例化时,在UIView上调用哪个方法?我只会使用视图控制器和viewDidLoad方法,除了这个特定的视图出现在很多不同的NIB上。
答案 0 :(得分:14)
您可以使用awakeFromNib
进行此类初始化。当对象实际由IB创建然后使用NSCoding
存档时,将调用常规初始化方法,因此这些方法永远不会在您的应用程序中调用。您也可以覆盖将被调用的initWithCoder:
,但我不推荐它,因为此时可能没有连接其他插座。