ios自定义控件,自己总结

可以通过代码方法以及xib方法来自定义控件。

代码方法

1.自定义控件,一般需要新建一个类(继承自UIView)

2.在此类的.m中设置所需子控件的声明,作为属性;

3.在此类的.m中重写 initWithFrame:构造方法(当外面创建这个自定义控件时,方便使用)在此构造方法中添加子控件,并赋值给属性

ios自定义控件,自己总结_第1张图片

4.提供(void)layoutSubviews:在其中布局子控件(设置尺寸)

注意:首先一定要调用[super layoutSubviews];(保留父类的一些东西)

5.为自定义控件设置数据

在.h中添加数据模型(此模型即这个自定义控件的内容)作为自定义控件的一个固有属性(此模型包含自定义控件中所有子控件的数据内容,当需要给自定义控件添加这些数据内容时,只需从外面为这个固有属性赋值一个模型对象即可)

在.m中实现这个固有属性的set方法,参数是一个模型对象。因此,只要传入一个模型,通过这个set方法就可以给自定义控件设数据。这个set方法的具体实现是,两个类之间对应成员变量的一一赋值。

PS:首先做一步赋值操作,如:  _shop = shop;


xib方法

1.新建一个类(继承自UIView),作为自定义控件

2.创建xib文件:interface---View或Empty,名字最好与新类的名一样

3.在xib文件中,改变尺寸(freedom),去掉电池,拖动所需的子控件到其中,同时修改相关属性、布局

4.把xib与新建的类关联

5.在新类的.h中提供快速创建方法,并在.m中实现

ios自定义控件,自己总结_第2张图片

自定义控件工作完成。

在外面就可以方便创建这个自定义控件的对象了(调用快速创建方法)

ios自定义控件,自己总结_第3张图片

补充:当加载xib完毕之后,程序会跳到自定义控件的.m中的以下方法,所以,子控件的一些只需设置一次的属性可以在其中通过代码设置

在完成自定义控件后,一般还需要考虑自定义控件的数据接收:

在自定义控件的.h中提供所需的数据属性;在.m中的类扩展中拖到子控件(后面需要操作),然后提供并实现数据的set方法。

这样,外面就可以方便传入数据了。


自定义控件的使用

主要要做以下几点:

1.import

2.实例化自定义控件的对象

3.添加到父控件中

4.对添加进来的自定义控件进行布局


原则:自定义控件,一定要先还原系统原有的方法,再添加自己的方法

你可能感兴趣的:(ios自定义控件,自己总结)