1. ? iOS做一個(gè)自定義的彈窗類時(shí),需要實(shí)現(xiàn)show和hide方法。一般來(lái)說(shuō),show方法就是將彈窗類(以下稱之為L(zhǎng)AlertView)加到window上,hide方法再將其從window上移除掉。但是這樣會(huì)有一個(gè)問題,當(dāng)外部使用LAlertView時(shí),一般會(huì)將其聲明為局部變量,當(dāng)函數(shù)執(zhí)行結(jié)束時(shí),該LAlertView對(duì)象將會(huì)被釋放掉。此時(shí),點(diǎn)擊彈窗上的按鈕,將不會(huì)觸發(fā)按鈕事件和相應(yīng)的回調(diào)。 ?解決的方法: 在LAlertView中聲明一個(gè)強(qiáng)引用指針strongRef,show方法是strongRef = self, 防止self被釋放掉, hide方法是strongRef = nil。
2. iOS11中tableview有時(shí)候會(huì)先調(diào)用cellForRow,再去調(diào)用heightForRow,這樣會(huì)出現(xiàn)一些渲染的問題。解決方法是:?estimatedRowHeight設(shè)為0。