OC中手写代码与xib结合实例

原创
2016/05/04 09:43
阅读数 1K

github代码地址

第一:首先说明下,何为封装一个自己的控件?其实简单来说,封装一个自己的控件就封装一个像UIView与UIButton这类的。可以通过代码创建一个自己封装的控件

第二:控件封装哪些东西?在这个之间,我们来看纯代码封装一个控件需要封装哪些东西(纯代码封装的实例github代码地址);第一:你要能返回一个控件对象(即你了的控件中包括了哪些子控件);第二:重写layoutSubViews方法,这个方法会监听控件的大小变化,来重新定义子控件的CGRectMake;第三:模型(对模型不是很清楚的话请点这里)控件需要的数据一般从模型中获得;至此,一个控件类对控件的画分基本就成型了,这三块逻辑互相独立,耦合性较低;接下来就是xib为我们解决了这三块之中的哪些?它解决了子控件的添加与子控件的CGRectMake两块,数据,仍然需要自己,所以,xib为我们省了两件事,毕竟图形界面比手打的要快,而且也很好维护。

第三:说完了控件类如何,再来说下主控件器里好何写了,首先:我们还是以UIView控件手打代码创建为例:

//手打代码,没有Xcode,所写代码能看懂就好,如有错误欢迎指出
UIView *view=[[UIView alloc]init];
view.fram=CGRectMake(0,0,100,100);
[self.view.addSubViews view];


//而我们创建自己封装的控件应如何呢
//其实就比UIView多了一步,添加模型(数据)
UIView *view=[[UIView alloc]init];//自己的控件类像这样实例化,一般会封装一下调用类构造方法
//添加模型
view.fram=CGRectMake(0,0,100,100);//下面两句一样
[self.view.addSubViews view];
//构架已说完,血肉请看github上面的代码

第四:说一个注意点,就是使用xib的时候,独立控件的对象要设置成你所封装的类,不然会报错,错误很常见。

而纯代码是没有这样的问题;导致问题的原因是,xib返回实例的时候是加载xib对象的,默认是UIView.

展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部