在使用navigationController
的主視圖push
子視圖時(shí)出現(xiàn)了黑色陰影翁潘,查詢了相關(guān)的問題與解決方案,在此總結(jié)一下:
出現(xiàn)黑色陰影分為以下幾種情況+解決方案:
情況一:present
推出了navigationController
的主視圖后集漾,進(jìn)行push
操作
解決方案:設(shè)置navigationController
背景色為白色
self.navigationController.view.backgroundColor = [UIColor whiteColor];
情況二:對(duì)tabBarViewController
上的navigationController
進(jìn)行push
操作
解決方案:創(chuàng)建一個(gè)基于UITabBarViewController
的子類奸晴,將背景設(shè)置為白色坐搔,重載viewDidLoad
的方法
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
}
情況三:沒有設(shè)置viewController
的背景色
解決方案:設(shè)置viewController
的背景色為白色
self.view.backgroundColor = [UIColor whiteColor];
情況四 :調(diào)用了self.navigationController.navigationBar.translucent = NO
方法何恶,將導(dǎo)航欄的半透明屬性關(guān)閉掉,布局也是從導(dǎo)航欄下面開始了哼拔,顯示出了底層的window
解決方案:在AppDelegate
中設(shè)置window
的背景色為白色
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
return YES;
}
或者引有,在相應(yīng)的viewController
中設(shè)置背景色為白色
[UIApplication sharedApplication].keyWindow.backgroundColor = [UIColor whiteColor];
參考
iOS -- push/pop 導(dǎo)航欄黑色陰影問題
解決 iOS View Controller Push/Pop 時(shí)的黑影