将多个XIB文件添加到任何文件

Posted

技术标签:

【中文标题】将多个XIB文件添加到任何文件【英文标题】:Add multiple XIB file to any file 【发布时间】:2013-09-02 09:30:26 【问题描述】:

我想添加一个 XIB 文件 ..我有一个 UIViewcontroller 子类文件 ..现在有一个 ipad XIB 我想要带有 iphone 的 XIB 文件 ..

New File> User Interface >View 开始,我添加了新的XIB ...现在如何使用现有的.h .m 进行配置。我无法连接File Owner 插座属性,如果我运行此XIB 文件,请使用代码,给我一个严重的错误说

* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“AViewController_iphone”笔尖,但未设置视图出口。'

我需要在 XIB 中进行哪些更改才能与我的.h .m 一起使用

【问题讨论】:

【参考方案1】:

打开 xib,然后单击 FIle OWner ..然后打开身份检查器,然后在自定义类部分下,键入要链接的类名称,之后,您将看到所有连接在文件所有者中。

然后去.m文件用这个替换之前的方法...

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

//MainMenu_iPad is xib for iPad and MainMenu is for iPhone
     NSString *nib = (isiPad) ? @"MainMenu_iPad" : @"MainMenu";
    self = [super initWithNibName:nib bundle:nibBundleOrNil];
    if (self) 
        // Custom initialization
    
    return self;

在.h文件中

#define isiPad      ([[UIDevice  currentDevice] userInterfaceIdiom]==UIUserInterfaceIdiomPad)

【讨论】:

【参考方案2】:

复制您的.h文件名>转到您的目标xib文件>单击文件所有者>单击右上角右侧菜单栏中的第三个选项卡,将复制的文本粘贴到类框,然后分配您的视图的文件所有者通过右键单击视图然后拖放到文件所有者

【讨论】:

以上是关于将多个XIB文件添加到任何文件的主要内容,如果未能解决你的问题,请参考以下文章

无法将 xib 文件添加到目标成员资格

我需要向每个 xib 添加本地化文件吗?

如何将三个按钮栏项目添加到 xib 文件

如何使用来自 xib 文件的任何子视图(在 xib 中创建)的多个副本

将 xib 文件中的视图添加到 UITableViewCell 添加约束

将两个 xib 文件中的两个 tableviews 添加到主 xib 视图