ios - 当用户向右滑动以返回 View 时,您可以执行 prepareForSegue 吗?

标签 ios swift xcode

假设我有两种观点。如果我在第一个 View 中,并且我对第二个 View 执行了推送转场。然后,如果用户按下导航栏上的后退按钮或从屏幕左侧向右滑动,我想执行一些代码,这可能吗?

我会确切地告诉你我想做什么,看看是否有更好的方法来做到这一点。几乎我的第一个 View 没有导航栏。然而,第二种观点确实如此。从第一个 View 转到第二个 View 时没有问题,因为在动画中显示了导航栏。

但是,当我从第二个 View 返回到第一个 View 时,导航栏会停留在屏幕上,直到它完全从第二个 View 返回。

感谢您的帮助!

最佳答案

下面的代码或许可以完成你所需要的。

这是由导航堆栈中的更改触发的,如果父级为 nil,则表示 View 正在被关闭。

在该检查中,您只需隐藏导航 Controller 。

以下代码适用于 Swift 3.0,如果需要,可以很容易地针对 Swift 2.2 进行修改。

override func willMove(toParentViewController parent: UIViewController?) {
    super.willMove(toParentViewController: parent)

    if parent == nil {
        navigationController?.navigationBar.isHidden = true
    }
}

关于ios - 当用户向右滑动以返回 View 时,您可以执行 prepareForSegue 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730856/

相关文章:

ios - 在检索已更改的 CloudKit 记录时识别记录更改的类型

swift - 访问全局函数内的环境变量 - SwiftUI + CoreData

ios - 使用EventKit读取Google日历ical文件

ios - 内部分布概况

ios - 属于两个团队的 Apple id 帐户获得 "Your account already has a valid iOS Distribution certificate"

iphone - iOS : How can I rotate a view control when another view segues to it?

ios - 从 UI 选择图像时执行操作

iphone - GameKit在设备屏幕关闭或处于后台时保持连接状态

objective-c - 在 ARC 下,如何释放 NSArray 中的元素?

ios - 如何使用 Swift 为 UICollectionView 创建动态宽度和静态高度