3

我有UIViewControllerUIView子类(让我们说ViewSubClass)。我正在使用故事板。在mainStoryBoard.storyBord中,我放了一个UIView并设置了自定义类ViewSubClass。现在我不想创建ViewSubClassin UIViewControllerlike的实例ViewSubClass *subClassInstance = [[ViewSubClass alloc] init]。在不创建 in 的任何实例的情况下ViewSubClassViewController我想调用initWithCoder方法。当我运行我的应用程序时,应该调用initWithCoder方法。ViewSubClass我怎样才能做到这一点?

4

2 回答 2

4

在您的视图类 .m 文件中添加以下代码

-(id) initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
    // Initialization code
}
return self;
}

并在视图类中添加文件名,如下图所示。

在此处输入图像描述

于 2013-10-03T10:59:44.633 回答
2

initWithCoder:有时,即使我在 Interface Builder 中设置了子类视图,如已接受的答案所示,我也看到没有调用。

吹走 XCode 和模拟器的缓存为我解决了这个问题。

Command + Shift + k通常对于 XCode 来说已经足够了。

为 iOS 模拟器选择“重置内容和设置”:

iOS 模拟器

于 2015-05-26T23:26:24.423 回答