ios - 如何从不同的文件夹加载nib文件?

标签 ios xib nib loadnibnamed

我正在尝试根据运行时的某些条件从子文件夹加载 NiB 文件。问题是,当我调用方法 pathForResource 时,代码能够找到 NIB 文件,但是当我运行应用程序时,我总是收到以下错误

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法在 bundle 中加载 NIB:”NSBundle

这是我的代码:

// The designated initializer. Override to perform setup that is required before the view is loaded.

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

if(somecondition == true)
{        
    NSString* nibPath = [[NSBundle mainBundle] pathForResource:nibNameOrNil ofType:@"xib" inDirectory:@"CAS"];
    NSString* customPath = [nibPath stringByDeletingLastPathComponent];

    NSBundle* localeBundle = [NSBundle bundleWithPath:customPath];

    if (localeBundle!= nil) { 
        nibBundleOrNil = localeBundle;
    }
}

}


if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {

}

return self;
}

最佳答案

您的 NIB/XIB 应包含在您的 xCode 项目中。它们应该位于同一个文件夹中。您只能加载导入到您的项目中的NIB/XIB。

关于ios - 如何从不同的文件夹加载nib文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8177013/

相关文章:

ios - 单击时 UITableViewCell 背景颜色变为白色

ios - 如何使用内部 XIB 为动态 UIStackView 设置对齐方式

iphone - 如何增加 iPhone 中 UITextField 的高度

iOS,PopOverPresentationController 问题,.xib

iphone - 我的应用程序在 iPhone 和 iPad 之间安装很奇怪

ios - 从 Swift 中的另一个类刷新 UITableView

ios - 使用输入参数初始化 xib

objective-c - View Controller 类的导出应该是弱的还是强的? OS X 应用程序

objective-c - nib 中顶级对象的加载顺序

ios - Pdf解析,如何解压文本