Swift之捕捉侧滑返回事件并跳转指定控制器
生活随笔
收集整理的這篇文章主要介紹了
Swift之捕捉侧滑返回事件并跳转指定控制器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
捕捉側滑返回事件
在當前控制器中重寫以下兩個方法即可:
// OC - (void)willMoveToParentViewController:(nullable UIViewController *)parent NS_AVAILABLE_IOS(5_0); - (void)didMoveToParentViewController:(nullable UIViewController *)parent NS_AVAILABLE_IOS(5_0);// Swiftoverride func willMove(toParent parent: UIViewController?) {super.willMove(toParent: parent)}override func didMove(toParent parent: UIViewController?) {super.didMove(toParent: parent)}- 第一次push進來的時候兩個方法都會調用,parent的值不為空。
- 當開始使用系統側滑的時候,會先調用willMove,而parent的值為空。
- 當滑動結束后返回了上個頁面,則會調用didMove,parent的值也為空,如果滑動結束沒有返回上個頁面,也就是輕輕劃了一下還在當前頁面,那么則不會調用didMove方法。
- 想要在側滑返回后在上個頁面做一些操作的話,可以在didMove方法中根據parent的值來判斷。
跳轉指定控制器
if (!parent) {var tmp = NSMutableArray(array: self.navigationController!.viewControllers) as! [UIViewController]var minIndex: Int = 0for (index, vc) in tmp.enumerated() {if vc.isKind(of: SafeCenterViewController.self) {minIndex = index + 1break}}if minIndex != 0 {tmp.removeSubrange((minIndex)..<(tmp.count - 1))self.navigationController?.viewControllers = tmp}} let popVC = self.navigationController?.viewControllers[2]self.navigationController?.popToViewController(popVC!, animated: true)總結
以上是生活随笔為你收集整理的Swift之捕捉侧滑返回事件并跳转指定控制器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之深入解析alloc、init与n
- 下一篇: RxSwift之环境的搭建配置与基础控件