7

我在UIButtoniPad 应用程序的左上角有一个(“后退按钮”),用于关闭视图控制器。我发现如果你把这个按钮敲得太高,你可以同时激活按钮并开始下拉通知窗格。发生这种情况时,我-viewWillDisappear会执行并停止视图中的动画,但视图实际上并没有关闭。当然,通知窗格并没有完全下降,所以最终结果看起来我的动画崩溃了,并且后退按钮也失败了。

显而易见的解决方案是将按钮向下移动一点,但由于布局原因这是不可取的,我很好奇:

  1. 任何人以前都见过这种行为。
  2. 如果它是定义明确的行为,如果是这样,Apple 在哪里描述它。
  3. 是否有任何已知的解决方法?

编辑:实际上看起来毕竟不是一个问题。原来是 my-applicationWillResignActive被调用,而不是-viewWillDisappear. 看起来仍然很糟糕,但至少行为是明确定义的。我根本没有激活我的主页按钮,只是拉下通知窗格。

4

1 回答 1

1

我已经完成了一个 UIViewController ,它有一个定时动画(如横幅广告),并且在窗格完全公开之前,将通知窗格放下并不会停止它。

-applicationWillResignActive:也许你必须在和上处理你的动画-applicationDidBecomeActive:,比如暂停和恢复它们。

您可以通过将以下代码添加到您的 UIViewController 上直接接收这些通知(而不是在 AppDelegate 上处理它们)-viewDidLoad

// Add observers
[[NSNotificationCenter defaultCenter]addObserver:self
                                        selector:@selector(pauseAnimations:)
                                            name: UIApplicationWillResignActiveNotification
                                          object:nil];  

[[NSNotificationCenter defaultCenter]addObserver:self
                                        selector:@selector(resumeAnimations:)
                                            name:UIApplicationDidBecomeActiveNotification
                                          object:nil];  
于 2013-09-03T16:29:41.747 回答