UIKit:以编程方式调用wakeFromNib



我看到了这个代码:

CoolButton *coolButton = [[CoolButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 60.0f, 25.0f)];
[coolButton awakeFromNib];
// ...
[coolButton release];

CCD_ 1是CCD_ 2的子类。以编程方式调用awakeFromNib可以吗?

如果我想在-[CoolButton awakeFromNib]中做与我想以编程方式创建对象相同的事情,而不是从nib文件中创建对象,那么最好的方法是什么?

我应该只定义一个方法并在-[CoolButton awakeFromNib]-[CoolButton initWithFrame]中调用它吗?或者,我是否应该定义另一种在这两种情况下都被调用的初始化方法:我是通过编程还是从nib文件创建CoolButton

不,没有一个方法可以同时为代码中创建的对象和从NIB创建的对象调用。您应该编写一个包含公共初始化逻辑的单独方法,并从awakeFromNibinitWithFrame:调用它。

只要设置了XIB和NIB之间的所有连接,就会调用Well CoolButton0。我相信awakeFromNib是在对象从nib文件初始化时调用的。因此,如果您是以编程方式创建它,而不是使用NIB文件,那么就不需要调用awakeFromNib。另一方面,呼叫initWithFrame听起来像是要走的路。在这个函数中,您可以通过编程方式创建视图,而不需要nib文件。我可能错了,但我认为无论您的视图是否使用笔尖创建,都会调用initWithFrame

相关内容

  • 没有找到相关文章

最新更新