道歉,因为我看到之前有人问过这样的问题。但是,按照说明我没有太多运气。我有兴趣使用xib文件创建自定义视图,并在另一个视图控制器的xib文件中重用它。
现有职位:
Using xib object inside another xib
How to use a xib and a UIView subclass together?
我已经:
这会导致在构建应用程序时显示空白视图。
然后我尝试了上面的帖子之一所说的,它覆盖了CustomView的initWithDecoder方法并添加了以下内容:
NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil];
UIView *mainView = [subviewArray objectAtIndex:0];
[self addSubview:mainView];
遗憾的是,这导致了以下错误:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<UIView 0x548ff00> setValue:forUndefinedKey:]:
我认为这可能是因为我没有将CustomView.xib中的顶级视图设置为CustomView类。然后我将其更改为CustomView,然后事情进入无限递归。这是有道理的,因为它只是一遍又一遍地重新加载。
不确定我之前的帖子中遗漏了什么,但我很感激任何指导!谢谢!
答案 0 :(得分:1)
Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<UIView 0x548ff00> setValue:forUndefinedKey:]:
上述error
的原因通常是由于Interface Builder
中的连接失败,即UIViewController
对象与实现类中的相应对象失败。请检查Interface Builder
中的所有连接。还要验证xib
文件中的文件所有者。
我希望这能解决你的问题。