9

我有一个简单的自定义视图,它通过插座连接到 NIB。对于这个特定的视图,我想在视图初始化时对其执行一些操作,无论它在什么 NIB 上。

麻烦的是, (id)init 或 (id)initWithFrame:(CGRect)frame 方法都没有在自定义视图上被调用。

当从 NIB 实例化 UIView 时,会调用哪个方法?我只会使用视图控制器和 viewDidLoad 方法,只是这个特定的视图出现在许多不同的 NIB 上。

4

1 回答 1

14

您可以awakeFromNib用于这种初始化。当 IB 实际创建对象然后使用 归档时,会调用常规初始化方法NSCoding,因此这些方法永远不会在您的应用程序中调用。您也可以覆盖initWithCoder:将被调用的,但我不建议这样做,因为此时可能没有连接其他插座。

于 2010-04-18T18:22:43.803 回答