gpt4 book ai didi

iphone - 使用 UINavigationController 推送 viewcontroller 有时会调用 viewDidAppear : and viewWillAppear:

转载 作者:行者123 更新时间:2023-12-03 20:29:28 25 4
gpt4 key购买 nike

使用 UINavigationController 将 View Controller 插入 View 时:

  1. 触发它需要什么条件viewDidAppear: 和 viewWillAppear: ?
  2. 是什么导致它无法不触发 viewDidAppear: 和 viewWillAppear: ?

我们很难依赖这些方法是否被触发。

最佳答案

当你调用pushViewController:animated:时,UINavigationController直接在被推送的 Controller 上调用这些方法,同样,UITabBarController在你切换选项卡时直接调用这些方法,而UIViewController在你使用presentModalViewController:animated:时调用它们。当 View Controller 的 View 添加到窗口时,它们也会被调用。我从未见过这些方法在这些特定上下文中无法调用。

现在请记住,这些方法仅在这些特定上下文中推送或呈现的 Controller 上调用。例如,如果您将 View Controller 的 View 添加为 UIWindow 之外的某个 View 的 subview ,则不会调用这些方法。 Apple 的文档指出, View Controller 仅适用于全屏 View ,通常使用上述方法之一来呈现。可以忽略 Apple 的建议,并将 View Controller 与另一个 View Controller 的 subview 相关联,但您必须手动将 viewWill/DidAppear/Disappear 调用从容器 View Controller 委托(delegate)给嵌套 Controller 。

关于iphone - 使用 UINavigationController 推送 viewcontroller 有时会调用 viewDidAppear : and viewWillAppear:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com