iOS:删除UINavigationBaranimation

我们的应用程序有一个UINavigationBar与它的图像。 当我们继续(推)到另一个屏幕,然后点击后退button导航栏上的图像似乎从左到右的animation重新出现。 这有点分散注意力。 你怎么能删除这个后退buttonanimation?

我们尝试改变了“animation”设置,但是这改变了推animation而不是后animation。

我们的导航条码:

let logoImage:UIImage = UIImage(named: "ABC")! viewController.navigationItem.titleView = UIImageView(image: logoImage) 

大部分是由于这个答案https://stackoverflow.com/a/8602982/47281

创build一个自定义导航栏并覆盖popItem

 class MyNavigationBar: UINavigationBar { override func popItem(animated: Bool) -> UINavigationItem? { return super.popItem(animated: false) } } 

通过故事板inputMyNavigationBar作为我们的导航控制器的导航栏类:

在这里输入图像说明

注意我没有重写NavigationController popViewControllerAnimated在链接的答案。

你可以这样做:

 override func viewDidLoad() { super.viewDidLoad() let logoImage: UIImage = UIImage(named: "ABC")! self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: logoImage, style: .plain, target: self, action: #selector(backBtnPressed)) } 

然后创build一个方法来处理button上的点击

 func backBtnPressed(){ _ = self.navigationController?.popViewController(animated: false) }