gpt4 book ai didi

iphone - 如何知道controller是在presentModalViewController中还是在pushViewController中?

转载 作者:行者123 更新时间:2023-11-28 22:40:26 25 4
gpt4 key购买 nike

View Controller 可以通过 pushViewController 或 presentModalViewController 从 super View Controller 获取。在这个 View Controller 中,我应该如何知道 Controller 来自哪个方向?我需要它来关闭 View ——

if (presentModalViewController ) {
[self dismissModalViewControllerAnimated:YES];
}else{
[self.navigationController popViewControllerAnimated:YES];
}

谢谢

最佳答案

如果 View 不在导航 Controller 中(例如因为它被呈现),self.navigationController 将为 nil。当然,如果您展示并拥有导航 Controller ,则需要更深入地挖掘。

此外,如果您没有出现,“self.presentingViewController”可能为 nil。

注意 iOS 的一个常见习惯用法是创建一个简单的协议(protocol)来处理关闭 View 。推送/呈现的 View 是委托(delegate)并调用其“viewWantsToClose”目标。如果您创建一个新的 Utility 项目,您就会明白我在说什么。这就是 Apple 关闭“信息” View 的方式。您可能会让您的 View 接受“doCloseAction”的 block 。

关于iphone - 如何知道controller是在presentModalViewController中还是在pushViewController中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14676788/

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