自定义控件-使用frame和代码的自定义UI控件

一点一点看到UI的本质,现在是最初级(汗·····

总之我在这篇博客上面学了很多东西http://blog.csdn.net/zhangao0086/article/details/45622875

上面写了很多,但是我不能一下子消化完,所以只学了一部分,在UI生成方面使用的是代码,在适配方面使用的是frame

相信我以后会升级的!!!

自定义控件的三个关键点:

  1 init

  2 初始化数据源

  3 添加subViews

1 init

在自定义控件的时候最好写一个初始化方法,当代码实例化一个view的时候,initWithFrame方法一定会执行,所以可以重写initWithFrame方法,后面再加上你的一些参数

如果想要别人使用你的控件更方便,最好写一个basic初始化方法,比如说

这样用户即使不使用你重写的方法,那个方法也会被执行

2 初始化数据源

从自定义初始化方法中拿数据的时候,需要找一个地方存起来,比如说存到一个array(数组)里面

这时候一定要注意对数组进行实例化

如果在初始化方法里对数组进行实例化也可以,但是可能会觉得初始化方法比较臃肿

可以使用@property方法来声明数组,然后重写get方法,在get方法里进行实例化,比如

3 添加subViews

在初始化方法中除了要初始化数据源,也需要初始化UI,一般都要添加subView

方法和初始化数据源同理,先使用@property声明view,然后在get方法里进行实例化和属性设置,但是不要设置frame,为了自定义的控件更加方便,最好在layoutSubViews方法中来设置subViews的frame

所以,在init方法中,只需要进行addSubView的操作就可以了,使代码更加简洁

ok,(frame+代码写view) 的自定义控件就结束了,下一次要可能要升级成使用  (约束+代码写view) 来自定义控件了

原文地址:https://www.cnblogs.com/chebaodaren/p/5261111.html