我正在开发一款iPad应用程序。
现在我遇到了以下问题。我为UIScrollView
创建了一个“自定义类”。因此,在我的nib文件中,我添加了默认UIScrollView
并将Custom Class
设置为 MultiSelectView (这是我创建的自定义类)。屏幕截图here。
所以在我的 MultiSelectView 中,我添加了一些我想要使用的方法。这有效!
问题在于我想知道如何在这些方法中初始化我需要的某些对象。似乎- (id)initWithFrame:(CGRect)frame {}
未被调用,- (void) viewDidLoad {}
也没有。
因此,有没有办法初始化自定义(GUI)类?
答案 0 :(得分:2)
当您从.xib文件取消归档视图时,它不会发送-initWithFrame:
,正如您所注意到的那样。相反,它已发送-initWithCoder:
。
因此,如果您在.xib文件中有任何需要自定义初始化的UIView子类,则需要覆盖-initWithCoder:
以及(或代替)-initWithFrame:
。
答案 1 :(得分:1)
看起来你需要initWithCoder
,当从NIB加载对象时调用它
或者,更好,awakeFromNib
。不同之处在于,当所有插座都连接时,会调用awakeFromNib
。