gpt4 book ai didi

ios - DismissViewController 无法访问presentingViewController

转载 作者:行者123 更新时间:2023-11-29 03:37:14 25 4
gpt4 key购买 nike

我有一个带有 3 个 viewController 的 navigationController,我将其称为模态。

当我到达最后一个 viewController 时,我想按下一个 doneButton,它将关闭模式 navigationController 并在 presentingViewController 上执行一些操作,因为 presentingViewController 可以是 3 种不同的类型。

因此,在我最后一个 viewController 的 doneAction 中,我想测试什么是 presentingViewController,但在询问 presentingViewController 时我得到了 (null)

这是一些使用 NSLogs 的测试代码,显示了我的问题:

- (IBAction)doneAction:(id)sender {

[self dismissViewControllerAnimated:YES completion:^(void){

NSLog(@"nav VC count : %u", self.navigationController.viewControllers.count);
NSLog(@"nav nav VC count : %u", self.navigationController.navigationController.viewControllers.count);
NSLog(@"presenting VC: %@", NSStringFromClass(self.presentingViewController.class));
NSLog(@"nav VC: %@", NSStringFromClass(self.navigationController.class));
NSLog(@"nav presenting VC: %@", NSStringFromClass(self.navigationController.presentingViewController.class));
}

输出:

2013-09-25 14:44:40.819 Twinkler[10636:a0b] nav     VC count : 3
2013-09-25 14:44:40.819 Twinkler[10636:a0b] nav nav VC count : 0
2013-09-25 14:44:40.819 Twinkler[10636:a0b] presenting VC: (null)
2013-09-25 14:44:40.820 Twinkler[10636:a0b] nav VC: UINavigationController
2013-09-25 14:44:40.820 Twinkler[10636:a0b] nav presenting VC: (null)

有人知道为什么它不可用吗?

提前致谢。

最佳答案

有点不清楚你的结构是什么,但如果它是呈现的导航 Controller ,你应该使用它来执行解雇(实际上,它将消息转发到它呈现的 View Controller )。试试这个:

[self.navigationController dismissViewControllerAnimated:YES completion:nil];

关于ios - DismissViewController 无法访问presentingViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006630/

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