iOS 静态库加载xib异常

最近在做静态库的封装,发现图片文件的加载没问题,但是加载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最好还是主工程引用,而不是直接拷贝到主工程中。

2015年第一篇,希望能帮助到您。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值