observeValueForKeyPath被多次调用

时间:2015-01-09 07:10:38

标签: ios iphone ios8 jailbreak springboard

我正在更新我的越狱调整(GIFPaper)并且遇到了一个奇怪的问题。我的调整允许用户将动画GIF作为背景图像。由于这需要多少额外的电池,我添加了一个功能,如果用户当前正在查看它,那么gif只是动画。例如,如果用户进入并关闭或关闭屏幕,则GIF将暂停。我试图通过键值观察"隐藏"来做到这一点。 SpringBoard背景视图的属性(SBFWallpaperView)。奇怪的问题是,在observeValueForKeyPath:方法中,当用户做任何事情时,我会更新很多次。例如,假设用户在应用程序中并且gif处于暂停状态。然后用户退出应用程序,SBFWallpaperView的隐藏属性从true变为false。而不是observeValueForKeyPath:被调用一次,它被调用了很多次。在这个方法中,我记录观察对象的隐藏属性,它是SBFWallpaperView的一个实例。当用户退出应用程序时,您会希望使用log" FALSE"因为用户现在可以看到背景。相反,像这样的东西被记录: 真正 假 真正 假 真正 FALSE

为什么"隐藏"房地产在这么短的时间内发生了如此大的变化,有什么方法可以让它记录下来" FALSE"一次而不是波动这么多?

谢谢!

0 个答案:

没有答案