iOS 禁用 NavigationController 后退按钮的动画

标签 ios swift navigationcontroller

当我在 NavigationController 中弹出带有后退按钮的 ViewController 时,我想禁用动画。

我尝试过:

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(false)
}

但它仍然有动画。

最佳答案

在您想要拥有该按钮的 Controller 中:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .Plain, target: self, action: #selector(backTapped))
}

@objc func backTapped(sender: UIBarButtonItem) {
    navigationController?.popViewControllerAnimated(false)
}

考虑到这种方式,您将丢失后退按钮上的 < 图标(因为您覆盖了该按钮)。但是,我认为不可能同时拥有自定义行为和 < 图标(除非您自己将 < 图标添加为图像)

关于iOS 禁用 NavigationController 后退按钮的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33542009/

相关文章:

ios - self.collectionView 和 UICollectionViewCell.self 的区别

ios - 从堆栈中删除所有 navigationControllers 并创建一个新的导航流设置新窗口 - 最佳实践

ios - UICollectionView ClipsToBounds 无法与分页正常工作

iphone - Cocos2d iPhone 中的 NSNotification

iphone - 如何像在 Messages.app 中一样向下移动 iPhone 键盘?

java - 'default' 底部导航 View 如何更改 fragment ?

ios - 如何在 swift iOS 中使用 swift 高阶函数从本地 json 创建 ViewModel

ios - 如何在不同 View 之间共享从 firebase 存储下载的图像?

ios - 以给定格式 Swift 创建 JSON