iOS:xib中加载自定义的xib控件, 解决死循环
咱就举个栗子:
我一个tableviewcell.xib(A) 中要使用一个我自定义好的一个 view.xib(B)
在A中拖好控件后,
需要在B中的.m文件中重写 initWithCode:(NSCoder*)aDecoder 方法,本意上A加载B无法直接加载到B的xib资源,所以我们在归档的方法中手动的去加载这个资源,
"一般对于这种需求,我们会选择在 init(coder:)
中加载目标 nib 然后将它作为 subview 添加到目标 view 中。"-摘自喵神
喵神文字传送门
那么重点来了, 很多人提到说在归档方法中会死循环,确实在loadnib方法中也会调用到归档方法, 所以这里要特别注意一下, 在B的xib文件中,关联头文件很重要, 只需在File's Owner 关联类, 而在view上是不需要关联的,所以这个xib有什么属性也是在File's Owner 上来关联,
以下就是具体操作了
.h文件
#import <UIKit/UIKit.h>
@class RecordArray;
@interface MaterialAccountRecordView : UIView
@property (nonatomic, strong) MaterialAccountRecordView *customView;
@end
.m文件
#import "MaterialAccountRecordView.h"
@interface MaterialAccountRecordView ()
@end
@implementation MaterialAccountRecordView
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
NSString *className = NSStringFromClass([self class]);
_customView = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] firstObject];
_customView.gjcf_size = CGSizeMake(ScreenW - 20, self.bounds.size.height);
[self addSubview:_customView];
}
return self;
}
@end
以上,谢谢
iOS:xib中加载自定义的xib控件, 解决死循环相关推荐
- ios加载本地html懒加载图片方案,IOS开发中加载大量网络图片优化方法
IOS开发中加载大量网络图片如何优化 1.概述 在IOS下通过URL读一张网络图片并不像其他编程语言那样可以直接把图片路径放到图片路径的位置就ok,而是需要我们通过一段类似流的方式去加载网络图片,接着 ...
- Android动态加载XML文件及控件来简单实现QQ好友印象的功能
在android开发中,我们常常会遇到界面布局控件不确定的情况.由于某些功能的原因或者为了体现某些app的特色等这些原因会导致我们在实现界面布局时需要动态去加载一些控件,那么下面就来介绍一下如何用动态 ...
- springboot yml怎么建常量_Springboot中加载自定义的yml配置文件
有一些配置需要单独提出来时,如果是properties文件可以@PropertySource注解直接进行加载,但如果是yml文件就需要进行处理 1.创建你的配置文件,比如config.yml,写入配置 ...
- Asp.net 2.0 动态加载其他子目录用户控件问题
通常我们要在程序中动态加载用户控件: 方法很简单直接在程序里键入: (usercontrol type)a = (usercontrol type)Page.LoadControl("~/x ...
- java layoutinflater_使用LayoutInflater动态加载布局和操作控件
我们知道在Android中通过布局文件来描述软件的界面,而通常在Activity中都是使用setContentView()来将布局显示出来.但是如果我们在非Activity的情况下,而且需要对布局中的 ...
- html分页自动加载数据,硕正控件默认会自动加载数据
硕正控件 autoLoad 页面加载时是否自动加载表格数据 默认true,如果自己需要根据页面条件查询数据 建议设置为false 自己去查询加载数据. 硕正表格控件API 属性 属性的定义, 例如 ...
- IE加载ocx时提示控件不安全的解决方法
之前编写的ocx控件在ie浏览器加载的时候,会出现一个提示. 这是因为ocx控件有一个ID,而这个ID注册后IE并没有认为它是安全的控件. 我们必须把这个控件注册为安全控件. 新建的mfc Activ ...
- Chrome加载外部扩展程序控件的方法
Step1:打开扩展程序功能 打开Chrome浏览器,找到"更多"中的"更多工具",点击"扩展程序". Step2:打开开发者模式 打开&q ...
- android 网络下载图片,加载Bitmap 不oo控件
题目有点唬人的意思,不过,google官网确实已经给出了一个这样的例子 这个博客没多少技术含量,只是和大家分享这么一个东东 直接上图吧: 加载很多图片吧,这些图片都是从网络加载的:参考url publ ...
最新文章
- .net精简框架集下的ini文件读取(C#)
- shell去除字符串前所有的0
- 中国棉纺织工业发展状况及未来竞争格局报告2022-2028年
- NLP1 —— Python自然语言处理环境搭建
- ICallbackEventHandler使用
- C ++中带有示例的llabs()函数
- 二叉树的字符图形显示程序_每个程序员都必须知道的8种通用数据结构
- keil如何添加h文件_如何给PDF文件添加水印?分享给PDF批量加水印的方法
- oracle数据库图书,基于oracle数据库,创建图书表(一)
- matlab中get和set命令,关于matlab中get和set的用法(转)
- Linux学习笔记:Jenkins的使用
- 2021年数学建模国赛C题问题四及模型检验
- 苹果开发者账号添加受信任电话号
- 【JZOJ 4816】label
- /deep/ >>> ::v-deep的用法
- Graphql 初体验 第十一章 | #13 Hitting the API(实现了登录注册表单)
- 获取大麦网孟鹤堂演出数据并播报和在右下角弹窗提示
- Ubuntu下载功能包时出现:检验数字签名时出错,此仓库未被更新,所以仍然使用此前的索引文件的解决办法
- windows快速搜索神器everything,让你搜索文件提速百倍!
- 企业云资源管理系统需求分析
热门文章
- 【定积分】区间再现公式的证明及其推论
- if语句详解(c语言)
- 讲python讲得好的评价_分析20万条弹幕告诉你,8.9分的高分剧《隐秘的角落》到底好看在哪儿?...
- Hermite矩阵的酉对角化
- 视频剪辑软件哪个比较好用?这几款常用的视频剪辑软件你要知道
- 互联网日报 | 2月1日 星期一 | 苏宁宣布云网万店组织架构;威马汽车完成上市辅导;美团上线医疗健康品牌“百寿健康网”...
- 人大金仓 过期 更换license
- IgH详解六、IgH命令行工具使用
- Springboot 自定义全局异常处理
- sentinel 1A数据升降轨道