iOS modal view的关闭和显示问题
生活随笔
收集整理的這篇文章主要介紹了
iOS modal view的关闭和显示问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天遇到一個(gè)問(wèn)題:
需要關(guān)閉當(dāng)前modal view,再present另一個(gè)modal view。
如果這么寫:
[self?dismissModalViewControllerAnimated:NO]; [self.delegate?showBorderDetectionView]; 執(zhí)行了第一句,再執(zhí)行第二句的時(shí)候,self就變成僵尸了,就是self已經(jīng)被ARC釋放了。 有3個(gè)解決方法: 1. 延長(zhǎng)self的生命: CFRetain(CFBridgingRetain(self)); [self?dismissModalViewControllerAnimated:NO]; [self.delegate?showBorderDetectionView]; CFRelease(CFBridgingRetain(self)); 2. 用delegate,在外部,先關(guān)閉preveiw view,再present border view [self.delegate closePreviewAndShowBorderDetectionView]; 3. 把preview view的viewController設(shè)置成全局的。不是每次present的時(shí)候,都重新alloc。而是只在viewController為nil的時(shí)候才alloc. 經(jīng)過(guò)考慮,preview view是個(gè)主要界面,我采用了第三種方法,把viewController設(shè)置成全局的。轉(zhuǎn)載于:https://www.cnblogs.com/iceface/p/3186838.html
總結(jié)
以上是生活随笔為你收集整理的iOS modal view的关闭和显示问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用Hamcrest增强JUnit的测试
- 下一篇: c#导出Excel