通知中心按钮的奇怪行为在iPad上拉下来

时间:2013-08-27 20:09:40

标签: ios objective-c ipad

我在iPad应用程序的左上角有一个UIButton(“后退按钮”),可以解除视图控制器的问题。我发现如果你点击这个按钮略高,你可以激活按钮并开始同时拉下通知窗格。发生这种情况时,我的-viewWillDisappear会被执行并停止视图中的动画,但视图实际上不会被忽略。当然,通知窗格并没有完全降低,因此最终结果看起来像我的动画崩溃,后退按钮也失败了。

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

  1. 之前有人见过这种行为。
  2. 如果这是明确定义的行为,如果是,那么Apple会在哪里描述它。
  3. 是否有任何已知的解决方法?
  4. 编辑:毕竟看起来不像是一个问题。事实证明,我的-applicationWillResignActive被调用,而不是-viewWillDisappear。仍然看起来很糟糕,但至少行为是明确的。我根本没有激活我的主页按钮,只需拉下通知窗格。

1 个答案:

答案 0 :(得分: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];