一般我们封装控件时 既要支持xib 又要支持手码 一般我们会在以下两个方法里执行我们的自定义操作。然后关于initWithCoder的小坑来了。 我是在view上包装了一个 UITableView 然后发现设置的tableview的某些属性不起作用,比如背景色、分割线、等。各种方法试验过后发现问题在 ...
分类:
移动开发 时间:
2019-09-19 16:32:40
阅读次数:
163
一、需求 通过Interface Builder的形式创建Xib,并将其和一个UIView的子类绑定,如何实现? 二、解决 这个问题通过搜索,有大量的答案,大概答案的代码如下: 也就是在你的子类中,在初始化方法initWithFrame、initWithCoder中主动加载一个xib对应的类,作为子 ...
分类:
其他好文 时间:
2018-10-12 23:43:37
阅读次数:
197
懒加载、计算型属性、反射机制 1.懒加载: 目的:1.延迟创建,需要时加载,节省内存空间 2.避免开发中处理解包的问题(重要!!!) 知识:1.所有的UIView 及子类在开发是,一旦重写了够着函数,必须要实现initwithcoder函数以保证提供两个通道,目前Xcode会有提示。 2.在swif ...
分类:
编程语言 时间:
2017-05-11 19:33:58
阅读次数:
520
当我们需要自定义一个View控件时,会有 initWithFrame、initWithCoder、awakeFromNib 这三个系统方法,关于这三个方法何时调用,如何调用,有时候可能很多人会弄混淆。 下面我会就理论结合代码举例来说明一下: 1、initWithFrame 这个方法是当控件不是从xi ...
分类:
移动开发 时间:
2017-01-23 15:11:47
阅读次数:
190
类要实现NSCoding协议实现encodeWithCoder和initWithCoder方法先把类的instance archive成NSData,然后存起来TGTest *tt = [TGTest new];tt.num = 3;NSData *dd = [NSKeyedArchiver arc... ...
分类:
其他好文 时间:
2017-01-14 11:21:03
阅读次数:
184
(1)awakeFromNib和initWithCoder:差别awakeFromNib 从xib或者storyboard加载完毕就会调用initWithCoder: 只要对象是从文件解析来的,就会调用同时存在会先调用initWithCoder: (2)initWithCoder: & initWi ...
分类:
其他好文 时间:
2017-01-12 10:36:53
阅读次数:
205
/* - (id)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { // 设置图片的主图层圆角 self.iconView.layer.cornerRadius = 8; // 设置超出主 ...
分类:
移动开发 时间:
2016-11-24 18:11:40
阅读次数:
257
//aDecoder解析器,将xib解析出来,可以通过alloc、initWithCoder的方法将xib文件加载出来,这个方法比awakeFromNib先调用 -(instancetype)initWithCoder:(NSCoder *)aDecoder{ self = [super initW ...
分类:
其他好文 时间:
2016-11-18 06:30:28
阅读次数:
130
iOS中数据存储方式 一般使用以下4种: 下面介绍一下数据保存的方式: 1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告诉系统怎么对对象进行 ...
分类:
移动开发 时间:
2016-10-11 18:46:57
阅读次数:
238
一、 ARC环境 单个viewController的生命周期 initWithCoder:(NSCoder *)aDecoder:(如果使用storyboard或者xib) loadView:加载view viewDidLoad:view加载完毕 viewWillAppear:控制器的view将要显 ...
分类:
其他好文 时间:
2016-10-05 17:12:14
阅读次数:
92