我需要有一些看起来非常相似但有不同行为的UIViewControllers,所以我想我会用xib制作一个通用的UIViewController子类,然后在我需要的时候将它子类化,对于那些看起来相似的不同的UIViewController.
我正在努力实现以下目标
UIViewController子类(有一个xib文件关联) - >并且能够将它子类化为我想要的次数(没有为子节点添加额外的xib文件)
到目前为止我做了什么:
xib文件表示具有多个UI元素的UIViewController.
我已将所有连接设置为文件所有者@ xib文件.
带有xib的子类包含这个@ init方法:
self = [[[NSBundle mainBundle] loadNibNamed:
[NSString stringWithFormat:@"ParentViewController"]
owner:self options:nil] objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
当我将xib中的View属性连接到文件的所有者时,我得到一个异常,说我不能将View属性连接到父UIViewControllers和子UIViewControllers.
但是当View属性仅连接到与xib相关联的UIViewController时,我得到一个空白屏幕,并且该插座不可断开.
如果我实例化父vc而不是子进程,一切正常,如果一切都是以编程方式完成而不是使用xib,那么一切正常.
因为这个UIViewController显示了很多UI元素,所以我试图用xib设置它.
我真的不明白如何让孩子ViewControllers看起来像父的xib文件,并有自己的添加和行为.