第一次调用viewWillAppear之后

时间:2014-03-30 22:29:24

标签: objective-c timer xcode5 viewwillappear

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

1 个答案:

答案 0 :(得分:0)

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

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