我已使用以下方式禁用了导航栏的底部边框线(阴影图像):
self.navigationController.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController.navigationBar.shadowImage = UIImage()
但是在锁定设备并再次将其解锁后,会出现底部边框线。通过在 viewWillAppear:
中使用以上代码,我能够再次将其隐藏:但是我想知道是什么导致导航栏每次出现时都重置为其默认配置?
我无法使用以下代码使阴影线再次出现在另一个ViewController中:
self.navigationController.navigationBar.setBackgroundImage(nil, for: .default)
self.navigationController.navigationBar.shadowImage = nil
我想知道如何重设导航栏外观以使底部边框线(阴影图像)重新出现?
答案 0 :(得分:0)
解锁设备不会调用viewWillAppear,可能是您正在使用BaseViewController并在UIApplicationDidBecomeActiveNotification上添加Notification Observer
尝试在AppDelegate上使用外观代替
UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default)
UINavigationBar.appearance().shadowImage = UIImage()
然后再次出现该行
self.navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
self.navigationController?.navigationBar.shadowImage = nil