一点一点看到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) 来自定义控件了