記一個iOS狀態(tài)欄顏色Bug修復

最近測試給我提了個bug,我們的ReactNative插件的狀態(tài)欄顏色總是在進入插件后一會被改變,最近任務比較多,但也沒辦法,只能想想怎么修了,雖然最終只改了一行代碼就解決了,但是還是花了不少時間的,在此記錄下。

當時修復的時候感覺沒有頭緒,狀態(tài)欄顏色設置是在基類VC實現(xiàn)的,App進入插件后也不會去主動修改狀態(tài)欄顏色,這不符合邏輯!
而且國內App沒有這個問題,海外有,但是我印象中的國內海外的這部分邏輯應該是一致的,這就更不符合邏輯了。
當時覺得可能是ReactNative代碼改了,和插件確認下,她也沒改,鍋沒甩出去。

最后仔細分析發(fā)現(xiàn),進入插件后,被蓋住的頁面的viewDidAppear又被調用了,被蓋住的頁面的父類的viewDidAppear里面實現(xiàn)了狀態(tài)欄顏色設置,導致插件狀態(tài)欄顏色不對。
為什么被蓋住的頁面的viewDidAppear會被調用呢,進一步分析發(fā)現(xiàn),JXPagingView在push進入其他vc后,觸發(fā)了被蓋住的頁面的viewDidAppear,這么設計是不符合VC生命周期的,但由于時間關系我沒細看他為什么這么寫。
那為什么國內App沒有這個問題,海外有,發(fā)現(xiàn)海是外版的首頁VC沒有繼承基類VC,之前看到這里覺得這不合理就給他改了,簡單測試一下,也沒發(fā)現(xiàn)問題,沒想到這里有個這么大的坑等著我。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容