如何将引用传递给nib中的对象的init方法?
问题描述:
我有一个UIView子类,它目前自己完全编程自我装配。它有一个自定义的initWithFrame:bundle:initializer,它是必需的,因为它使用传入的bundle来加载图像资源。如何将引用传递给nib中的对象的init方法?
我想让这个视图成为一个更大的nib文件中的一个子视图,但是当nib加载代码到达它而不是我的自定义初始化程序时,将调用initWithCoder。有什么办法可以将这个视图放在笔尖中,并且仍然可以自定义初始化吗?
答
是的,如果你的包提前知道,你也可以覆盖initWithCoder:
(阅读:你不需要它作为参数传入)。否则,不要。
答
如果您可以等到awakeFromNib
,那么您可以在那里进行初始化。不过,您仍然有问题无法将软件包传递到方法中。由于awakeFromNib
在所有插座和操作的初始化和设置完成后调用,因此可能为时已晚。无论如何,重新设计笔尖加载系统可能更好?
+0
在iPhone上没有awakeFromNib ... – Moszi 2011-01-13 19:59:08
不幸的是,它不提前知道,所以我想我坚持以编程方式。谢谢。 – Greg 2011-01-13 20:35:42