ios7 push pop 動畫忽然消失的解決方案

不想看扯淡的同窗,直接拉倒底部查看。。。。。。。。。。html

 

 

這幾天開發的程序遇到了這樣的問題。ios

忽然以前在ios7運行的程序全無動畫效果。app

系統自帶的push pop之類的也徹底沒有動畫效果,就好像view直接add上去的同樣。post

蛋疼。。。。測試

查看了下代碼。。動畫

徹底不知道該如何下手了。spa

怎麼辦。。3d

百度 谷歌。。。htm

關鍵字:ios7 動畫效果消失blog

出現以下界面。。。

 

這他媽是什麼啊。。。

換谷歌。。

谷歌仍是比百度靠譜,可是點進去發現。這也只是跟我同樣出現了這些現象提出來的問題,可是解決方案呢,where,你在哪裏?

 

難道是個人關鍵字不對。。

繼續換關鍵字。。。:ios7 pushviewcontroller 動畫消失

一一查看,咦,發現了一個有用的東西。

發現有人說模態下有可能出現這個問題。說有可能把keywindow的rootviewcontroller變爲空。。

巧代碼求證。。

發現確實有問題。。當彈出alert時間,有可能把keywindow變爲空。

如何解決。。。

繼續搜索。。。

又找到:地址:http://blog.woodbunny.com/post-126.html

通常來講 [UIApplication sharedApplication].keyWindow.rootViewController 會在 appDelegate 中初始化,而且整個應用運行過程當中都不會變。

 

因此在不少地方須要用 presentModelViewController 方法時,用這個 rootViewController 是很方便的,由於它至關於一個全局變量,無需再申請、釋放。

 

可是本人在使用過程當中發現有 rootViewController 被改成 nil 的狀況。

 

分析後發現,當 UIAlertView 調用 show 方法後,rootViewController 會被改成 nil,當它 dismiss 後又改回去。而我須要用戶在點擊 alertview 上的按鈕後再作 presentModelViewController 的操做。

 

解決方法:

不要使用 alertview delegate 中的 

- (void)alertView:clickedButtonAtIndex:

方法

 

而要用:

- (void)alertView:diddismissWithButtonAtIndex:

方法!

 

按照這個大牛的方法去更改。

血淚啊。。。改改改

改完後,心情舒暢,應該沒有問題了吧。

好,運行app。

彈框。。正常。

哈哈哈

好了。。。

but,多點擊幾回之後,又出現了這個狀況。靠。。

繼續找緣由。

覺得仍是這個keywindow出了問題。一直早這個方向尋找緣由。。

2天過去了。除了知道監測keywindow變化的知識外,一無所得。。。

就在要放棄的時候,想到了用谷歌 english 去谷歌問題。。。

 

我草啊

我草啊

 

啥也不說了  上圖:

 

 

點擊進去:

 

一句話,尼瑪啊。就這一句話。。。。

 

 

心情激動,按照這個去修改。

運行app,正常。

激動,忐忑,繼續測試。

正常,激動

繼續測試。

正常。

我草,這一刻的心情爽爆了。

在下班時間依然在公司寫下了以上文字。。。

 

 

後續整理。。。。。。。

 

 

 

先總結下出現這些問題的緣由

:我的理解,若有錯誤歡迎指正。

就是在一個動畫尚未徹底結束的時間,你把它的父視圖移除了。

 

解決:大量的修改代碼是不現實的,只能下次新開工程的時間去注意這些問題。最簡單的方法。進入這個頁面時間調用這行代碼

[UIView setAnimationsEnabled:YES];

 

萬事大吉,回家找媳婦去。。

哈哈哈哈

相關文章
相關標籤/搜索