gpt4 book ai didi

iphone - UINavigationController setViewController :animated: navigation bar difficulties

转载 作者:行者123 更新时间:2023-12-03 18:35:33 25 4
gpt4 key购买 nike

我遇到了一个令人难以置信的令人沮丧的问题,它似乎是一个错误,但我很难相信没有其他人遇到过这个问题。我的应用程序的 Root View Controller 是 UITabBarController,其中每个选项卡都是 UINavigationController。一切都很好。

现在我来到了一个想要编辑堆栈的地方,因此我重新排列了当前导航 Controller 的 viewController,然后执行以下操作:

[self.navigationController setViewControllers:newViewControllers animated:YES];

堆栈已正确弹出/推送到顶部 View Controller ,但导航栏不会更新到当前 View Controller ,并且似乎与弹出之前的 viewController 完全相同。如果我这样做:

[self.navigationController popToViewController:someViewController animated:YES];

一切都很完美。以前有人遇到过这个吗?有解决方法吗?我做错了什么吗?

最佳答案

我遇到了同样的问题,苹果似乎没有纠正这个错误,因此该线程选择的答案似乎不正确。我设法使用 this bug report 纠正了这个问题正如 Anurag 的评论与 Scott Pfeil 的评论相结合。

这是代码:

navController.navigationBarHidden = YES;

NSArray* viewControllers = navController.viewControllers;
UIViewController* currentController = [viewControllers objectAtIndex:viewControllers.count-1];

NSArray *controllers = [NSArray arrayWithObjects: viewController , currentController , nil];

[navController setViewControllers:controllers animated:NO];

navController.navigationBarHidden = NO;

我在currentController的viewDidLoad中调用这段代码,我所做的就是仅用viewController替换以前的 Controller 。

希望这有帮助。

关于iphone - UINavigationController setViewController :animated: navigation bar difficulties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2010418/

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