如何给FrameWork添加Image, Xib文件
2016-01-04 16:57
239 查看
FrameWork如何加载资源文件
如果我们在生成FrameWork的时候添加了图片和Xib文件, 那么你打包出来的FrameWork里面一定会把你包含的资源包含进去, Xib文件一般会被打包成Nib文件, 如图: (代码我已经放在Github)
![](http://upload-images.jianshu.io/upload_images/139317-1a68fd6adce23e33.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
9EDA8690-9A61-42DD-8FD4-F130CB1FD6A0.png
1. FrameWork添加Xib文件
之前的文章我有提到过Storyboard加载UIView的Xib文件.使用的方法是:[[NSBundle mainBundle] loadNibNamed:@"ColorView" owner:self options:nil];
但是
mainBundle表示的他从你的主工程里取
Bundle文件然后再加载Xib文件,
如果你在FrameWork里面调用这个方法, 那么它一直在你的主工程里面查找这个Xib文件, 然后Xcode就会提示 臣妾找不到这个Xib文件:
reason: 'Could not load NIB in bundle: 'NSBundle
正确的姿势:
你要想在FrameWork正确的加载Xib文件, 那么就要指定你的Bundle, 然后再加载Xib就可以找到了.有两种姿势去指定Bundle文件.
//这个Class对应你工程所在的类名 [[NSBundle bundleForClass:self.class] loadNibNamed:@"ColorView" owner:self options:nil]; //这个对应你的FrameWork的Bundle Identifier [[NSBundle bundleWithIdentifier:@"com.xxx.xx"] loadNibNamed:@"ColorView" owner:self options:nil];
2. FrameWork加载图片
你想在FrameWork 加载图片文件, 在iOS 8以后比较容易做到, 只需要调用这个方法[UIImage imageNamed:@"imageView" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil];
完整的代码
- (instancetype) initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if (self) { [[NSBundle bundleForClass:self.class] loadNibNamed:@"ColorView" owner:self options:nil]; self.frame = self.views.frame; [self addSubview:self.views]; } return self; }
因为在iOS 8之前苹果还没有正式开放这种FrameWork制作静态库和动态库的方法, 所以如果你要支持iOS 8一下的系统, 那么方法稍微复杂一些.
相关文章推荐
- 关于java.lang.UnsatisfiedLinkError: D:\vleyong\tomcat-7.0.57\bin\tcnative-1.dll: Can't load AMD 64-bit
- NSMutableAttributedString 设置文字风格
- android类似微信朋友圈评论效果,listview定位,item总在输入法上面的位置
- 1.4作业
- 2015项目timeline
- 分享在winform下实现左右布局多窗口界面
- HUNAN NORMAL UNIVERSITY OJ 10383 线索二叉树 胡乱yy的方法
- 战略合作协议
- extjs导出Excel文档
- 【React Native开发】React Native For Android环境配置以及第一个实例(1)
- 个推使用流程及p12证书导出上传方法
- 【c/c++】转换构造函数
- 一个简单的、基本的、完整的使用biblatex包的例子
- 外观模式
- 数据库
- 使用nginx搭建https服务器
- Atitit.收银系统pos 以及打印功能的行业标准
- NSJSONSerialization 组json字符串
- 正益工场为京西创客工场输送双创“软”实力
- H5将彩色照片转换成黑白照片