gpt4 book ai didi

iphone - 刷新 UITabBar 选项卡的 View 或在重新选择选项卡时从 UITabBar 选项卡的 View 调用方法

转载 作者:可可西里 更新时间:2023-11-01 03:37:39 30 4
gpt4 key购买 nike

除了第一次切换到选项卡时,最初触发 ViewDidLoad 时,切换到(重新选择)该选项卡的所有后续操作似乎都不会触发 ViewDidLoad,也不会触发任何其他方法。 View 似乎被缓存并立即重新显示,就像用户离开该选项卡时的样子。但是,当用户重新选择特定选项卡时,我需要刷新其 View 。因此,如果可能的话,我需要以某种方式从 View 中触发一个方法,而无需额外的用户交互(在选项卡重新选择之后)。

我知道 UITabBarDelegate 中有一个方法应该在选项卡切换发生之前或之后被调用,但我不知道这是否是从选项卡 View 中触发方法调用的方法重新激活所述选项卡。我不知道如何从委托(delegate)中访问选项卡 View 的已激活实例。对此的任何指导都会非常有帮助!

最佳答案

使用 UITabBar 时,您的 View 将保持事件状态,除非收到内存警告并且必须释放它们。因为它们永远保持事件状态,viewDidLoad 只会被调用一次(除非您的 View 由于内存警告而被卸载)。

viewWillAppear 和 viewDidAppear 将在每次 View 将/确实显示在屏幕上时被调用,因此这是您想要刷新 View 或数据的地方。

viewWillAppear 更适合在您希望在用户看到之前更新 View 上的任何内容的情况下使用。例如,设置 UILabels 或 UITextFields 以清除数据。这将防止用户在清除之前看到旧数据的快速闪现。在此方法中运行任何会使用大量系统资源或花费很长时间(即网络服务)的东西都可能会减慢您的应用程序,并且会阻止您同时显示 UIActivityIndi​​cator,因为这是在 View 实际出现之前。

viewDidAppear 对于在 View 显示后可以更新的任何内容都非常有用,例如前面示例中的网络服务。

关于iphone - 刷新 UITabBar 选项卡的 View 或在重新选择选项卡时从 UITabBar 选项卡的 View 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045447/

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