gpt4 book ai didi

objective-c - 仅关闭 2 个模态呈现的 View Controller 中的 1 个

转载 作者:行者123 更新时间:2023-12-04 03:10:49 25 4
gpt4 key购买 nike

UINavigation Controller 用作模态弹出框,然后呈现:

XYNavigationController *popoverNavigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"XYNavigationController"];
popoverNavigationController.modalPresentationStyle = UIModalPresentationPopover;
XYCartViewController *cartVC = (XYCartViewController *)popoverNavigationController.topViewController;
[self presentViewController:popoverNavigationController animated:YES completion:nil];

当点击一个按钮时,另一个 Controller XYEditViewController 将以模态方式呈现在模态 popoverNavigationController 之上。 XYEditViewController 的取消按钮调用展开转场:

- (IBAction)unwindFromEdit:(UIStoryboardSegue *)segue {
//a. [segue.sourceViewController dismissViewControllerAnimated:YES completion:nil];
//b. [self.navigationController.topViewController dismissViewControllerAnimated:YES completion:nil];
//c. [(XYCartViewController*)(segue.destinationViewController) dismissViewControllerAnimated:YES completion:nil];
//d.
[(XYNavigationController*)(((XYEditViewController*)(segue.sourceViewController)).presentingViewController) dismissViewControllerAnimated:YES completion:nil];

期望取消按钮仅关闭顶部模态 Controller 并尝试了上面的所有 a、b、c、d,它们都关闭了顶部和弹出 Controller 。知道在这种情况下如何只解雇最高控制者吗?

最佳答案

在弹出框内关闭呈现的 Controller 是一个大问题(即错误),而且在 iOS 历史过程中此行为已更改多次这一事实也无济于事。我相信,基本上您将无法为此使用放松转场。只需让取消按钮在调用 [self dismissViewControllerAnimated:] 的呈现的 View Controller 中执行操作即可。

(您还必须解决用户在弹出窗口外部点击时发生的情况;默认情况下,这也可能会关闭整对,我认为这是错误的行为。)

关于objective-c - 仅关闭 2 个模态呈现的 View Controller 中的 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032841/

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