【问题标题】:How to call viewDidLoad method when back button is pressed in UINavigationController? (iPhone / iPad)在 UINavigationController 中按下后退按钮时如何调用 viewDidLoad 方法? (iPhone / iPad)
【发布时间】:2012-02-15 06:26:53
【问题描述】:

我需要一种在UINavigationController 中按下“返回”按钮时调用viewDidLoad 方法的方法。例如,如果我有这样的流程:

视图 A -> 视图 B -> 视图 C

我需要它,以便如果我在View C 上并且我按下回,应该调用View B 的viewDidLoad 方法。同样,如果我在View B 上并按下返回按钮View A 的viewDidLoad 方法应该被调用。

请有人建议如何实现这一目标?

【问题讨论】:

    标签: iphone ipad uinavigationcontroller viewdidload


    【解决方案1】:

    viewDidLoad 方法在视图控制器完成加载和设置视图控制器时调用,例如加载 NIB 文件。根据您的需要,您应该将相关代码移至viewWillAppear,每次相应的视图控制器可见时都会调用该代码。所以对于转换A -> B -> C (backto)-> B,B 的视图控制器的viewWillAppear 方法将被调用两次。

    【讨论】:

    • viewDidLoad 如果您有自己的自定义 loadVOiew 方法,也将被调用,即您没有使用 NIB。如果你想让“after”事件更像viewDidLoad,你可以使用viewDidAppear。
    【解决方案2】:

    根据您的描述,听起来您最好改用 viewWillAppear 或 viewDidAppear 方法。 viewDidLoad 被设计为只被调用一次,除非视图因为内存警告而被丢弃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-26
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多