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

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.

转载于:https://my.oschina.net/HYLApple/blog/669405

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值