iOS:popViewController 意外行为

2023-12-27

我一直在互联网上寻找解决方案。我什么也找不到。 所以: 我正在使用 UINavigationController。我将两个 UIViewController 推到上面。在第二个推送的 ViewController 中,我正在执行以下代码:

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error {
NSLog([error localizedDescription]);
[self.navigationController popViewControllerAnimated:YES]; }

预期会发生的事情是最后推送的 ViewController 消失。在这个应用程序中,我在几个地方执行此操作,除了这个 ViewController 之外,它在任何地方都工作得很好。 发生的情况是,只有后退按钮离开屏幕(动画),但其他所有内容都保留在屏幕上。当此行执行时,控制台输出中会打印出两件事:

2011-03-14 16:32:44.580 TheAppXY[18518:207] 嵌套弹出 动画可能会导致损坏 导航栏

2011-03-14 16:32:53.507 TheAppXY[18518:207] 完成 意外的导航转换 状态。导航栏子视图树 可能会被损坏。

我找不到任何信息的两个错误消息。 我正在使用 XCode 4 和 iOS SDK 4.3。也许任何人都可以帮助我解决这个问题。


我在我的代码中遇到了类似的情况,消息说:

嵌套的推送动画可能会导致导航栏损坏

在意外状态下完成导航转换。导航栏子视图树>可能会损坏。

我对这个问题的发现是,我快速连续地一个接一个地推动 2 个视图控制器,并且两个视图控制器都是动画的。

在您的情况下,您似乎可能会一个接一个地弹出带有动画的多个视图控制器。

因此,当一个视图正在进行动画时,您不应该在另一个视图上启动动画。

我还发现,如果我在一个视图上禁用动画,错误消息就会消失。

就我而言,这是流程逻辑的问题,因为我不打算一个接一个地推送 2 个视图控制器。一个在 switch case 逻辑中被推入,另一个在其结束后被推入。

希望这对某人有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS:popViewController 意外行为 的相关文章

随机推荐

  • jQuery isFunction 检查错误“函数未定义”

    我想在尝试运行函数之前检查它是否存在 这是我的代码 if isFunction myfunc console log function exist run it 但是 当该功能不可用时 我收到错误 myfunc 未定义 我该如何进行检测 这
  • egit 中被拒绝的非快进问题

    我已经从分支 2 0 结帐了 现在我对其中一个文件进行了更改 我想将其提交到分支 即 2 0 分支 所以我右键单击文件 选择团队 gt 提交选项 我要求我选择分支 所以我选择了 2 0 和存储库 url 当我点击时 commit push
  • conda 错误:无法导入 zstandard

    我的 Conda 在 Ubuntu 18 04 上 出现以下错误消息 但所有功能都运行正常 home td7920 miniconda3 lib python3 8 site packages conda package streaming
  • App Engine 端点 API - 具有自定义域的 404

    我正在尝试将自定义域与应用程序引擎一起使用 本地主机一切正常并且应用程序点网址 https conference center 1177 appspot com 但与自定义域 https cc mdsarowar me 端点 API 不起作
  • Cakephp 翻译行为的默认行为不起作用

    谁能告诉我为什么当字段没有翻译时它会返回空 而不是默认翻译 我会感激所有的建议 不知道你想看我的代码的哪一部分 因为它都是直接来自 www book cake org 的 所以我粘贴一些代码 型号定义
  • 在 Linux 上安装 NPM

    我的目的是安装 angularjs 为此 我需要 gt npm 所以我想安装nodejs以获得 NPM 但我有这个错误 File configure line 16 in
  • Eclipse 上使用 Dataflow Runner 的 Apache Beam MinimalWordcount 示例

    我正在尝试在 Windows 上使用 Eclipse 中的 DataFlowRunner 运行 MinimalWordCount 示例 使用 MinimalWordCount gt 在 Eclipse 中运行作为 Java 应用程序 它与使
  • 使用 xclip 后 Tmux 中的键盘快捷键被停用

    我在 tmux conf 中使用以下配置从 xclip 来回复制文本 bind C c run tmux save buffer xclip i sel clipboard bind C v run tmux set buffer xcli
  • 消息控制器中未定义的方法“stringify_keys”

    当我尝试提交表单时 出现以下错误 当 1 个用户想要向另一个用户发送消息时 该表单就会显示 NoMethodError in MessagesController create undefined method stringify keys
  • 如何删除 Firestore 文档中的字段?

    如何删除 Cloud Firestore 中的文档字段 我正在使用下面的代码 但我不能 this db doc ProfileUser userId followersCount FollowersCount update currentU
  • 在 Web 上正确使用 SVG

    我想知道在 HTML 文档上使用 SVG 的最佳方法是什么 我读过一篇文章说 使用 SVG 图标比图标字体更好 即 fontawesome 等 以获得更好的性能并减少 HTTP 网络 调用 并提高搜索引擎优化 我知道如何使用 包含 SVG
  • 如何使用domains.google.com 验证我的自定义域

    如何使用验证我的自定义域domains google com如果 它不允许重复的密钥 并且 firebase 托管需要重复的密钥条目 并且 firebase 需要具有相同主机的 2 个文本条目 Google Domains 中的 DNS 记
  • UIPageControl 中的问题

    pageControl UIPageControl alloc initWithFrame CGRectMake 153 356 38 36 pageControl userInteractionEnabled YES pageContro
  • Google Maps SDK 中的自定义注释视图

    我创建了一个基于地图的 iOS 应用程序 其中我想使用 iOS 版 Google Maps SDK 而不是 Mapkit 我找到了文档 但没有找到与自定义注释视图相关的方法 任何人都可以为我提供解决方案创建自定义注释视图 信息窗口 以及如何
  • 在数学模式下将变量写为下标

    我正在尝试绘制一些数据 使用 for 循环来绘制分布 现在我想根据循环计数器将这些分布标记为数学符号中的下标 这就是我现在的处境 import matplotlib pyplot as plt import numpy as np impo
  • ASP.NET MVC 使用 UIHint 属性生成 DropDownList

    我想知道如何使用 UIHint 属性生成 DropDownList 我已经自定义了一些预定义属性 但我不知道如何继续生成 DropDownList 这是我对上一个的处理方式 我想以类似的方式使用它 public class CartProd
  • 使用 apache 检查请求中是否存在标头

    如何检查标头是否存在 我不想检查该值是否与 不同 我想使用以下方法检查它是否确实存在 重写条件 我怎样才能在 htaccess 文件中做到这一点 anhubhava 的回答很有用 但逻辑 颠倒了 它应该是 RewriteEngine On
  • Selenium 使用 javascript 获取元素的类属性

    我正在使用 Selenium 用 Ja vascript 编写测试自动化 尝试提取 DOM 元素的类属性对我来说不起作用 这是我的代码 var webdriver require selenium webdriver var driver
  • Java中的顶级类是什么?

    Java中的顶级类是什么 Java中顶级类的定义是什么 我知道这是一个基本问题 但我找不到这个问题的明确而简单的答案 它只是任何不是嵌套类的类 如果您的文件是 Foo java 并且您的类是 Foo 那么它是顶级类 in Foo java
  • iOS:popViewController 意外行为

    我一直在互联网上寻找解决方案 我什么也找不到 所以 我正在使用 UINavigationController 我将两个 UIViewController 推到上面 在第二个推送的 ViewController 中 我正在执行以下代码 voi