自定义View的创建、添加、移除执行过程分析
2015-06-28 本文已影响2051人
YotrolZ
1.创建自定义view的类文件
创建自定义view的类文件.png2.创建一个xib文件来表述自定义view(也可以通过代码)
-
创建一个xib文件
创建一个xib文件.png -
设置xib文件名(
设置xib文件名.pngxib文件名称和类文件保持一致
)
-
编辑xib文件:(
编辑xib文件.png绑定class、添加子控件
)也就是给自定义的view添加几个子控件这里我们添加了四个系统的控件(label、button、switch、textFiled)
-
声明一个
声明类方法.png类方法
,快速创建一个自定义的view
-
实现类方法
实现类方法.png -
创建一个自定义view(子控件)并添加到控制器的view(父控件)上面
创建+添加自定义view.png -
问题
:为什么viewDidLoad函数执行完毕后创建的customView对象没有销毁呢?
答
:当您通过addSubview:
方法将一个视图作为子视图添加时,父视图会对其进行保持
操作。 -
从控制器的view(父控件)上面移除自定义的view(子控件)
移除自定义view.png -
调用
removeFromSuperview
方法,会自动将自定义view对象销毁
. -
重写自定义view的
重写自定义view的dealloc.pngdealloc
方法,监听其销毁
-
官方对
removeFromSuperview1.pngremoveFromSuperview
方法的说明:
removeFromSuperview2.png
调用顺序详细说明:
1.创建自定义view的时候
-
创建自定义view
创建自定义view.png -
重写
重写didAddSubview:.pngdidAddSubview:
方法
-
调用顺序
执行顺序.png -
备注:
- didAddSubview:
方法会按照自定义view内部的子控件循环调用
2.添加自定义view的时候
-
添加自定义view
添加自定义view.png -
重写相应的方法,监听其执行顺序
重写添加时相应的方法.png -
调用顺序
调用顺序1.png
调用顺序2.png
3.从父控件移除自定义view(子控件)的时候
-
移除自定义view
移除自定义view.png -
重写相应的方法,监听其执行顺序
执行顺序.png -
调用顺序
调用顺序.png -
备注:
- (void)willRemoveSubview:(UIView *)subview;
会按照自定义view内部的子控件循环调用