版權(quán)聲明:本文為博主原創(chuàng)文章驮俗,轉(zhuǎn)載請附上原文出處鏈接和本聲明懂缕。
本文鏈接:https://yotrolz.com/posts/1e6befc2/
1.創(chuàng)建自定義view的類文件
2.創(chuàng)建一個xib文件來表述自定義view(也可以通過代碼)
-
創(chuàng)建一個xib文件
-
設(shè)置xib文件名(
xib文件名稱和類文件保持一致
)
-
編輯xib文件:(
綁定class、添加子控件
)也就是給自定義的view添加幾個子控件這里我們添加了四個系統(tǒng)的控件(label王凑、button搪柑、switch聋丝、textFiled)
-
聲明一個
類方法
,快速創(chuàng)建一個自定義的view
-
實現(xiàn)類方法
-
創(chuàng)建一個自定義view(子控件)并添加到控制器的view(父控件)上面
問題
:為什么viewDidLoad函數(shù)執(zhí)行完畢后創(chuàng)建的customView對象沒有銷毀呢工碾?
答
:當(dāng)您通過addSubview:
方法將一個視圖作為子視圖添加時弱睦,父視圖會對其進(jìn)行保持
操作。-
從控制器的view(父控件)上面移除自定義的view(子控件)
調(diào)用
removeFromSuperview
方法渊额,會自動將自定義view對象銷毀
.-
重寫自定義view的
dealloc
方法况木,監(jiān)聽其銷毀
-
官方對
removeFromSuperview
方法的說明:
調(diào)用順序詳細(xì)說明:
1.創(chuàng)建自定義view的時候
-
創(chuàng)建自定義view
-
重寫
didAddSubview:
方法
-
調(diào)用順序
備注:
- didAddSubview:
方法會按照自定義view內(nèi)部的子控件循環(huán)調(diào)用
2.添加自定義view的時候
-
添加自定義view
-
重寫相應(yīng)的方法,監(jiān)聽其執(zhí)行順序
-
調(diào)用順序
3.從父控件移除自定義view(子控件)的時候
-
移除自定義view
-
重寫相應(yīng)的方法旬迹,監(jiān)聽其執(zhí)行順序
-
調(diào)用順序
備注:
- (void)willRemoveSubview:(UIView *)subview;
會按照自定義view內(nèi)部的子控件循環(huán)調(diào)用