我正在开发一个iPad应用程序。
现在我遇到了下面的问题。我为UIScrollView
创建了一个"自定义类"。所以在我的nib文件中,我添加了一个默认的UIScrollView
,并将Custom Class
设置为MultiSelectView(这是我创建的自定义类)。截图。
所以在我的MultiSelectView我添加了一些我想使用的方法。这个工作!
问题是我想知道如何初始化这些方法中需要的某些对象。似乎没有调用- (id)initWithFrame:(CGRect)frame {}
,也没有调用- (void) viewDidLoad {}
。
因此,是否有一种方法来初始化自定义(GUI)类?
当您从.xib文件中解压缩视图时,它不会发送-initWithFrame:
,正如您注意到的那样。而是发送-initWithCoder:
。
所以,如果你在。xib文件中有任何UIView子类需要自定义初始化,你需要重写-initWithCoder:
以及(或代替)-initWithFrame:
。
看起来你需要initWithCoder
,它在对象从NIB加载时被调用
或者,更好,awakeFromNib
。不同的是,awakeFromNib
是在所有出口都连接时调用的。