gpt4 book ai didi

ios - View Controller 转换

转载 作者:行者123 更新时间:2023-11-29 02:58:47 25 4
gpt4 key购买 nike

我正在构建一个使用大量网络服务的 iOS 应用程序。该应用程序有一个 UItabBarController 作为其根 VC。

在我的一个 Controller 中,我将 viewController 推到 UINavigationController 上。我推送到堆栈上的 ViewController 是一个 UITableViewController,它有一个带有来自网络的数据的 UITableView。我在用户进入数据的每个级别上重新启动 Controller 。然后,在最后一级,我调用一个 Web 服务,然后希望整个 UITableViewController 被关闭并显示原始 View Controller 。

它是这样的:

ViewControllerA (UIViewController) -> 用户点击按钮 - 将 ViewControllerB 推到其上。 (UINavigationController)。

完成 ViewControllerB 后,我需要将其关闭并显示 ViewControllerA 和结果。

在 ViewControllerB 中,我在 NSNotification 方法中做了类似的事情:

if ([errorString hasPrefix:@"No descendants"]){
UINavigationController *navigationController =
[self.tabBarController.viewControllers objectAtIndex:1];
BBSearchViewController *searchViewController =
navigationController.viewControllers[0];
searchViewController.categoryId = self.categoryId;


if (searchViewController.brwosingCategoriesFromSearchPage){
[[BBDataStore sharedDataStore]deRegisterForNotifications:self];
[self.navigationController popToRootViewControllerAnimated:NO];

这会在控制台中导致此错误:

> 2014-05-08 09:32:16.306 TestApp[36948:60b] Finishing up a navigation transition 
in an unexpected state. Navigation Bar subview tree might get corrupted.

2014-05-08 09:32:16.780 TestApp[36948:60b] Unbalanced calls to begin/end
appearance transitions for <ViewControllerA: 0xd08aa00>.

有人能告诉我我做错了什么吗?

最佳答案

您收到这些错误是因为您在另一个转换完成之前尝试一个转换。在您的情况下,看起来您在 View 完成显示之前收到通知,然后尝试弹出到根目录。您应该使用用户输入(当用户点击按钮时)或至少在 viewDidAppear: 之后调用 popToRootViewControllerAnimated:

关于ios - View Controller 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23535663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com