【问题标题】:Calling the viewWillAppear after the first time第一次后调用 viewWillAppear
【发布时间】:2014-03-30 22:29:23
【问题描述】:

我有一个使用计时器的游戏。用户有 10 秒的时间做某事。我在其中有一个暂停按钮,我试图设置 viewWillDisappear 中还剩多少时间,然后设置标签与 viewWillAppear 中还剩多少时间。因此,如果用户暂停时还有 6 秒,当他们恢复时,viewWillAppear 将被执行并且标签将在 6 秒处。但问题是,viewWillAppear 是在用户第一次启动该级别时执行的,这完全打乱了时间。有什么办法我只能在第一次之后执行 viewWillAppear 吗?谢谢。

【问题讨论】:

    标签: objective-c timer xcode5 viewwillappear


    【解决方案1】:

    你的观察是正确的。每次出现视图时都会调用viewWillAppear。当然,它也是在第一次出现之前被调用的。

    你做了什么? viewDidLoad 只被调用一次。在调用 viewWillAppear 之前调用它。您可以在viewDidLoad 中将剩余时间初始化为 10 秒的 iVar。使用与viewWillDisappear 相同的 iVar(或您正在使用的任何东西)。在第一次出现时,viewWillAppear 将立即被调用,以便将计数器重新设置为保存的剩余时间值不会对您的逻辑造成任何损害。

    【讨论】:

    • 道歉。它是实例变量的缩写。无论如何,您必须使用某些东西来存储剩余时间,即示例中的 6 秒。
    • 好的,现在这更有意义了!非常感谢你。我会尝试一下并回复你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2014-04-18
    • 1970-01-01
    相关资源
    最近更新 更多