0

我的顶级视图立即将我的 SplashView 推送到它的 ViewWillAppear 方法中。在某些情况下,SplashView 会推送一个正确弹出的附加视图。发生这种情况时,顶层视图永远不会出现。

但是,顶级中的代码正在运行(它有一个每分钟发生一次的计时器,用于写入日志)。如果我在调试中捕获它,我可以看到代码正在执行。此外,如果我登录顶级 ViewDidAppear,[self navigationController].visibleViewController.nibName则会出现顶级名称。

如果我不在 SplashView 中进行推送,一切正常。

应用程序被强制进入横向模式,并且每个 ViewController 都包含return UIInterfaceOrientationIsLandscape(interfaceOrientation);shouldAutorotateToInterfaceOrientation方法。

我很困惑,不知道下一步该怎么做。建议?

4

1 回答 1

0

虽然我没有完全确定发生这种情况的原因,但我已经解决了这个问题。以下是我在进一步调试中注意到的一些事情:

  • 我注意到wait_fences: failed to receive reply: 10004003日志中的消息。扫描这方面的博客对我没有多大帮助,但它让我走得更远。对它的引用显示了 UIAlertView 的问题,我在 Splash 视图中确实遇到了问题。
  • 我在 Splash 视图中添加了 ViewDidAppear 逻辑,然后发现它被调用了两次!然后我添加了逻辑来仅对此采取一次行动,我的问题就解决了!

因此,显然有一些怪癖是 View 被调用了两次,这导致了我最初的问题。我发现的参考资料暗示这是一个“旧”操作系统问题,但我使用的是 xCode 3.2.3 和 SDK 4.0.2,所以它可能又回来了!哎呀,我不记得它是用 SDK 4.0.1 做的!

于 2010-08-20T20:06:26.937 回答