问题标签 [poptoviewcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何正确使用popToViewController?
我想要做的是将所有以前的视图控制器从堆栈中弹出到“菜单”控制器。我有一段代码应该这样做,但是当点击“菜单”时,应用程序崩溃了。
崩溃的原因:“试图弹出一个不存在的视图控制器。”
这是我的代码的一部分:
ios - popToViewController 没有弹出所有的视图控制器
所以我有 3 个视图控制器:TableViewController、A 和 B。用户可以从任何视图控制器导航到任何视图控制器。
当用户在 A 和 B 视图控制器之间来回移动时,我希望它们被推送到导航上。堆。当按下“主页”按钮时,我希望使用 popToViewController 将视图控制器全部弹出回 TableViewController,而不是 popToRootViewController(出于某种原因)。
我有部分工作代码可以弹出最后访问的视图控制器,但现在所有代码都在两者之间。
我不确定为什么没有弹出所有视图控制器。
我用来检查推送和弹出内容的代码:
我也在检查内存的增加。
我将在需要时提供更多代码/信息。
任何帮助将不胜感激。
ios - Swift 3:回到最后一个发送数据的 ViewController
我正在尝试通过发送数据返回我的 las viewController,但它不起作用。
当我只使用 popViewController 时,我可以返回页面,但我无法将我的数据从 B 移动到 A。
这是我的代码:
ios - popToViewController 后 pushViewController 上的应用程序崩溃
我试图搜索这个,但找不到任何完美的解决方案。我的应用程序有自定义动画视图和两个侧边抽屉。我也有自定义导航控制器,它有滑动顶栏。从 appDelegate 我将第一个控制器设置为 rootViewController,然后推送 ViewController(即带有动画的 mainViewController)。然后尝试推动第二个控制器。从第二个控制器,我可以在按钮 Click 上转到第三个控制器或 rootViewController。当我使用 popToViewController 从 secondController 返回后尝试转到第二个 viewController 时,应用程序崩溃。
我在 appdelegate 将 rootViewController 设置为:
将 ViewController(mainController) 推送为:
然后将第二个 viewController 推为:
从第二个视图控制器返回:
当我尝试从 viewController(mainController) 转到 secondViewController 时,应用程序崩溃。
ios - 将 segue 弹回 Main(root) Viewcontroller 不起作用
我有Navigation Controller
2 个 Viewcontrollers:MainVC
(root)和SearchVC
.
首先,我使用从MainVC
(“+”导航项)到的转换功能SearchVC
:
这个“+”推动过渡和关闭按钮“x”弹出过渡效果很好:
在SearchVC
我GMSAutocompleteResultsViewController
用于搜索地点并尝试弹出MainVC
使用goToVc()
功能时(我依次检查了所有 3 个“弹出”选项的性能,但它们不起作用):
更新:self.view.window!.rootViewController?.dismiss(animated: false, completion: nil)
也不起作用
在所有三个“弹出到 MainVC”的情况下都过渡到MainVC
不发生,并且弹出到当前的 VC:
upd :self.view.window!.rootViewController?.dismiss(animated: false, completion: nil)
有同样的效果
我该如何解决这个问题,并过渡到MainVC
??
ios - 带有模态的 PopToViewController
我目前正在试验 PopToViewController 并注意到如果我有以下情况,我会从方法中返回 null:
导航堆栈
UIViewController1 - 位置 0
UIViewController2
UIViewController3
UIViewController4
UIViewController5 模态呈现
我收到一个触发弹回 UIViewController1 的事件。当我从 UIViewController1 调用 NavigationController.PopToViewController 时,返回值为 null,但视图已从导航堆栈中删除,但模式保持打开状态。我似乎也没有得到任何被移除的 UIViewControllers 的生命周期事件。
这是期望的行为还是记录在任何地方?我可以理解保持打开状态的模式,但我不明白 PopToViewController 方法为什么会返回 null。
我要返回的 ViewController 肯定在导航堆栈中。
ios - 从 NavigationController 后退按钮返回多个 ViewController
当我单击 NavigationController 上的后退按钮时,我想返回两个 ViewController 而不是一个。
这几乎按照我想要的方式工作。更改 self.navigationController?.viewControllers[1] 让我可以转到堆栈中的任何 ViewController。我唯一的问题是它总是在直接转到我弹出的 ViewController 之前短暂地显示最顶层的 viewController。如何阻止它显示中间 ViewController?
我的问题是:
VC[0] → VC[1] → VC[2] → VC[3]
从 3 我想直接返回到 1 而不必显示 2。我想从 NavigationController 后退按钮执行此操作。
ios - 如何使用 poptoviewcontroller 返回到以前的控制器
我有 3 个视图控制器,A->B->C 但在 B 和 CI 之间有一个导航控制器。我的 C 控制器正在从用户那里获取一些信息,并将其保存在领域(本地数据库)中。退出该控制器时,我想转到 B 控制器并显示保存的一些数据,但是,当我尝试使用 popToViewController 时,它告诉我控制器不存在或者它只是崩溃了。我也试过
但它只退出控制器并且不会在我的 B 控制器上重新加载数据。有没有办法在 Swift 4 中使用 PopToViewController?
这就是我尝试使用它的方式:
我也试过:
但什么也没有发生。
ios - viewWillAppear 不调用 IOS 13 目标 C
我有一个在 Xcode 8 下创建的大型应用程序(所以它是老派)。我没有使用 swift 或情节提要,所有控件都是在代码中创建的。
由于移动到 IOS 13 / Xcode 11.3,当 VC 委托被推送到导航控制器上,然后调用 popToRootViewController 时,不会调用 rootViewController viewWillAppear。
我试过用
VC.modalPresentationStyle=UIModalPresentationFullScreen 没有任何行为变化。
我有一个包含窗口的 MainWindow.xib,并且 navController 设置为子视图
在 AppDelegate.m 中:
在 MainViewController
在 SelectSomethingViewController
此代码在以前的 Xcode 版本和 IOS 10 上运行良好,并且运行 viewWillAppear 中的代码,这对于应用程序的操作至关重要。在早期的 IOS 和 Xcode 上,无论是在模拟器上还是在实际设备上。
使用 IOS 13 和 Xcode 11.3,模拟器不会调用 viewWillAppear,但奇怪的是,在运行 IOS 13 并在 Xcode 中作为测试设备启动的实际设备上可以正常工作。我愿意解决问题或提出建议。