gpt4 book ai didi

iphone - 将 Controller 推送到 UINavigationController 在 iPad 上可以工作,但在 iPhone 上不行

转载 作者:行者123 更新时间:2023-11-29 04:10:45 25 4
gpt4 key购买 nike

我在为 iPad 和 iPhone 开发应用程序时遇到了一个非常烦人的问题。

我希望我的导航 Controller (由 Storyboard设置)推送显示一些详细信息的 View Controller 。

下面的代码曾经有效,但现在我在 iPhone 上插入 Controller 时遇到黑屏,而完全相同的代码在 iPad 上运行良好。使用的所有 Controller 都是非零值。发生的情况是,显示使用 navigationController 更改 View 的常见动画,但之后只有黑屏。

ADetailViewController* detailController =
[self.storyboard instantiateViewControllerWithIdentifier:@"ADetailViewController"];
exposeController.data = aRealEstate;
exposeController.appData = self.appData;
[self.navigationController pushViewController: detailController animated:YES];

我对代码进行了一些调试,注意到 ADetailViewController 类的 viewDidLoad 被调用,但 viewDidAppear 没有被调用,这意味着显示了详细信息 View (正如我也通过黑屏注意到的那样:-))

我希望得到有关此问题的提示。

更新

我自己设法解决了这个问题。造成这种情况的原因是我在委托(delegate)依赖项中内置了循环依赖项。这用于在 rootView 将被隐藏时弹出推送的 View 。

最佳答案

您正在使用 Storyboard,那么为什么不使用segues呢?

View Controller 的所有实例化都是通过执行 segue 来完成的。您可以在 prepareForSegue: 中方便地进行所有自定义。

我相信您的错误是由 iPhone 和 iPad Storyboard中的不同配置引起的。如果您决定使用 Segues,则推送 View Controller 的过程会更加透明,您将能够更轻松地发现问题。

关于iphone - 将 Controller 推送到 UINavigationController 在 iPad 上可以工作,但在 iPhone 上不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14438399/

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