解決 iOS View Controller Push/Pop 時的黑影

weixin_34006468發表於2015-12-05

專案收尾的時候發現在push時右上角會有黑影,push完成後就消失了,如圖:


313852-f247a7d9477749ad.png

那麼如何解決這個問題呢?

上網查詢而知,iOS 自 7.x 某個版本以後就有這個問題。

實際上很簡單,如果這個ViewController 是在 TabBarViewControllerNavigationControllerPush/Pop的,那麼只需要把 TabBarViewController 的 View 設定一下白色背景就可以了。

建立一個 UINavigationController 的父類,在父類寫上self.view.backgroundColor = [UIColor whiteColor];讓你的NavigationController都繼承,這樣就OK了。

但是到這裡為止,只解決了 50%,還有另外一種情況沒有解決,那就是如果你 present了一個NavigationController + ViewController後,在這個下面再進行Pop/Push 也是會有黑影的情況下。這種情況如何解決呢?

類似的,設定一下 self.navigationController.view.backgroundColor = [UIColor whiteColor]; 即可。

相關文章