【问题标题】:viewWillAppear only being called onceviewWillAppear 只被调用一次
【发布时间】:2011-02-18 18:05:33
【问题描述】:

这是场景,switchViewController 是添加到主窗口的视图。所以switchViewController是主视图,所以如果我想去视图B,我会添加视图B的子视图,不需要移除switchViewController的视图吧? 问题是在我从视图 B 返回到 switchViewController 的视图后,不再调用 viewWillAppear 方法。

为什么会这样?

【问题讨论】:

  • 你没有移除开关...视图是 y viewWillAppear 没有被调用,因为它已经出现了。

标签: iphone viewwillappear


【解决方案1】:

viewWillAppear: 不会在视图从视图层次结构中移除或添加到视图层次结构时自动调用。视图控制器有责任在正确的时间调用它。每当您呈现或推送新的视图控制器时,内置的视图控制器类都会执行此操作。由于您没有在应用程序中使用此机制,因此不会调用该方法(除非您自己调用它)。

【讨论】:

    【解决方案2】:

    那是因为它从未消失过,你只是在它前面放了些别的东西。如果您想从一个屏幕导航到另一个屏幕并返回,它们应该是单独的视图控制器,并且您应该使用UINavigationController 及其pushViewController:isAnimated: 方法。

    【讨论】:

      【解决方案3】:

      它没有被调用,因为您只是修改了第一个视图,而不是导航到另一个视图。

      您可能会考虑将您的视图嵌入到导航控制器中,然后调用您的 ViewB

      [navigationController pushViewController:viewB animated:YES];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-10
        • 1970-01-01
        • 2021-01-04
        • 2019-08-23
        • 2017-09-13
        • 1970-01-01
        相关资源
        最近更新 更多