gpt4 book ai didi

ios - 如何检查 View Controller 是否以模态方式呈现或推送到导航堆栈上?

转载 作者:IT老高 更新时间:2023-10-28 12:21:56 25 4
gpt4 key购买 nike

如何在我的 View Controller 代码中区分:

  • 模态呈现
  • 推送到导航堆栈

presentingViewControllerisMovingToParentViewController 在这两种情况下都是 YES,所以不是很有帮助。

让事情变得复杂的是,我的父 View Controller 有时是模态的,要检查的 View Controller 被推送到它上面。

原来我的问题是我将我的 HtmlViewController 嵌入到 UINavigationController 中,然后显示。这就是为什么我自己的尝试和下面的好答案都不起作用的原因。

HtmlViewController*     termsViewController = [[HtmlViewController alloc] initWithDictionary:dictionary];
UINavigationController* modalViewController;

modalViewController = [[UINavigationController alloc] initWithRootViewController:termsViewController];
modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:modalViewController
animated:YES
completion:nil];

我想我最好告诉我的 View Controller 什么时候是模态的,而不是试图确定。

最佳答案

持保留态度,未测试。

- (BOOL)isModal {
if([self presentingViewController])
return YES;
if([[[self navigationController] presentingViewController] presentedViewController] == [self navigationController])
return YES;
if([[[self tabBarController] presentingViewController] isKindOfClass:[UITabBarController class]])
return YES;

return NO;
}

关于ios - 如何检查 View Controller 是否以模态方式呈现或推送到导航堆栈上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620276/

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