Pop 2 view controllers in Nav Controller in Swift(在 Swift 中的 Nav Controller 中弹出 2 个视图控制器)
问题描述
我找到了很多方法来使用 Objective-C 在 UINavigationController 中弹出 2 个 UIViewControllers,但是当我尝试将其切换到 Swift 时,它似乎没有正在工作.
I have found many ways to pop back 2 UIViewControllers in UINavigationController using Objective-C, however when I try and switch that over to Swift it doesn't seem to be working.
返回 UIViewController 的最佳方法是什么?任何指导将不胜感激谢谢
What would be the best approach to pop back to UIViewController?
Any guidance would be appreciated
Thanks
推荐答案
扩展我的评论,在 viewControllers 数组中找到倒数第二个视图控制器,然后使用 popToViewController 避免覆盖整个视图控制器堆栈.
Expanding on my comment, find the second last view controller in the viewControllers array and then use popToViewController to avoid overwriting the entire view controller stack.
示例(假设导航控制器有多个视图控制器):
Example (assumes the navigation controller has more than 1 view controller):
func backTwo() {
let viewControllers: [UIViewController] = self.navigationController!.viewControllers as [UIViewController]
self.navigationController!.popToViewController(viewControllers[viewControllers.count - 3], animated: true)
}
Objective-C
NSArray *viewControllers = [self.navigationController viewControllers];
[self.navigationController popToViewController:viewControllers[viewControllers.count - 3] animated:YES];
这篇关于在 Swift 中的 Nav Controller 中弹出 2 个视图控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Swift 中的 Nav Controller 中弹出 2 个视图控制器
基础教程推荐
- iOS4 创建后台定时器 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
