? ? 在我們開發(fā)過程中,常常會遇到各種五花八門的彈出框,入行不深時碰到各種問題總想著有沒有第三方直接拿來用,但是在使用的過程中常常發(fā)現(xiàn)和自己項目有所不同,這個時候除了修改作者的源碼,就只能模仿著寫了,但是如果沒有理清其最基礎(chǔ)的原理和思路,感覺就是照搬源碼了!
? ? 廢話不多說,下面就介紹我目前所了解彈出框的兩種基礎(chǔ)原理,如果各位同學(xué)有更佳的想法,可以call我并一起完善這個入門文檔哦

方法一
自定義一個和屏幕一樣大小的view,設(shè)置其顏色及透明度,再在其上面任意添加你想要的view。
注意:父視圖view的顏色和透明度設(shè)置:
//? ? ? ? self.backgroundColor = [UIColor colorWithRed:130/255.0 green:130/255.0 blue:130/255.0 alpha:1];
//? ? ? ? self.alpha = 0.4;
//重點(diǎn) - 別直接設(shè)置self的透明度和顏色
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.1];
直接上代碼更直觀


創(chuàng)建完后,直接在你控制器點(diǎn)擊事件中實例化并show就行
ZLAlertView *zl = [[ZLAlertView alloc]init];
[zl show];
這個簡單明了,只要把背景圖和彈出view顯示和隱藏弄出來,接下來各種樣式的彈出無非就是加動畫,加不同的彈出控件而已。

方法二?
第二種可以present到一個新的控制器VC,該VC設(shè)置其透明度和背景顏色,再在VC上進(jìn)行各種操作了,親測有效。



上面就是目前所知道的兩種彈出框基礎(chǔ)原理,適合入門小生借鑒,大神勿噴??!
如果你有更好的原理,請及時告訴我,我會及時更新分享給大家!1804094055@qq.c