版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。
本文链接:https://yotrolz.com/posts/1e6befc2/
1.创建自定义view的类文件
2.创建一个xib文件来表述自定义view(也可以通过代码)
-
创建一个xib文件
-
设置xib文件名(
xib文件名称和类文件保持一致
)
-
编辑xib文件:(
绑定class、添加子控件
)也就是给自定义的view添加几个子控件这里我们添加了四个系统的控件(label、button、switch、textFiled)
-
声明一个
类方法
,快速创建一个自定义的view
-
实现类方法
-
创建一个自定义view(子控件)并添加到控制器的view(父控件)上面
问题
:为什么viewDidLoad函数执行完毕后创建的customView对象没有销毁呢?
答
:当您通过addSubview:
方法将一个视图作为子视图添加时,父视图会对其进行保持
操作。-
从控制器的view(父控件)上面移除自定义的view(子控件)
调用
removeFromSuperview
方法,会自动将自定义view对象销毁
.-
重写自定义view的
dealloc
方法,监听其销毁
-
官方对
removeFromSuperview
方法的说明:
调用顺序详细说明:
1.创建自定义view的时候
-
创建自定义view
-
重写
didAddSubview:
方法
-
调用顺序
备注:
- didAddSubview:
方法会按照自定义view内部的子控件循环调用
2.添加自定义view的时候
-
添加自定义view
-
重写相应的方法,监听其执行顺序
-
调用顺序
3.从父控件移除自定义view(子控件)的时候
-
移除自定义view
-
重写相应的方法,监听其执行顺序
-
调用顺序
备注:
- (void)willRemoveSubview:(UIView *)subview;
会按照自定义view内部的子控件循环调用