您的位置:首页 > 移动开发 > IOS开发

iOS 静态库加载xib异常

2015-07-23 11:07 393 查看
最近在做静态库的封装,发现图片文件的加载没问题,但是加载xib时总是报  .bundle> (not yet loaded),很是头疼。

先说怎么加载图片,一定要带上bundle的包名,要不然找不到文件。如下:

UIImage *key_img = [UIImage imageNamed:@"FFTKeyBoardBundle.bundle/ps.png"];

那么下面说下怎么解决xib问题。

1.不用xib,纯代码写。

2.第一个方法实在让我不爽,折腾了好几天,查了好些资料总算解决了。

如下操作:

1.先给你的静态库新建一个bundle,这个很关键。



2.这个时候你就创建了一个bundle,但这个bundle是OS X的。要做下修改。



3.设置bundle里面的资源。



4.到这里我们基本上是完成了。下面是最关键的地方。运行项目找到这个bundle.我是用下图的方法找的,不知道你们的路径写的是哪里,如果是默认的应该和我的一样。







说的简单点Xcode需要的bundle是编译后的bundle.

用的话就这么用就可以了:

NSBundle *bundle = [NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"FFTKeyBoardBundle" withExtension:@"bundle"]];

    self = [bundle loadNibNamed:@"PassWordKeyBoard" owner:nil options:nil].firstObject;

另:编译后的bundle文件如果有1x,和2X的图片我们可以看到变成了.tiff文件



当然如果你使用的界面是纯代码的就不用这么麻烦了,直接把资源文件夹后缀改成.bundle就可以了。

后话,bundle最好还是主工程引用,而不是直接拷贝到主工程中。

From: http://blog.csdn.net/sjl51060/article/details/43938911
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iphone ios