【问题标题】:Load UIViewController twice in navigation stack在导航堆栈中加载 UIViewController 两次
【发布时间】:2012-04-20 11:17:39
【问题描述】:

我有一个UIViewController(比如 A)。单击UIViewController(A) 中的按钮,我加载了UIWebView。单击UIWebView 中的组件时,我需要再次推送UIViewController(A)。我知道,从概念上讲,这不是正确的做法。这里有什么替代方案?

【问题讨论】:

    标签: iphone ios uiviewcontroller uinavigationcontroller


    【解决方案1】:

    问题是,你想要一个新的 UIViewController 实例,还是只想更新第一个 UIViewController? 对于第一个选项,您必须创建一个新的 UIViewController 实例并推送它。 对于第二个选项,您必须弹出 UIWebView 控制器并向第一个 UIViewController 发送消息以更新自身,或者生成 UIViewController 侦听的通知以更新自身。

    【讨论】:

    • 我正在创建一个新实例。但问题是,我在调试的时候,控件进入initWithNibName退出但不是A类的viewDidLoad
    【解决方案2】:

    您不能在导航堆栈上两次推送相同的UIViewController。但是你可以创建一个 A 类的新实例并推送它。

    【讨论】:

      【解决方案3】:

      试试这个代码:

      [self.navigationController popViewControllerAnimated:YES];
      

      【讨论】:

        【解决方案4】:

        确保您没有对同一个按钮执行多个操作。就我而言,我为同一个按钮提供了 2 个 IBActions。

        【讨论】:

          猜你喜欢
          • 2011-03-12
          • 1970-01-01
          • 1970-01-01
          • 2021-06-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多