当我水平倾斜iPad设备时,我获得了一种奇怪的行为。 通知:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "MySelector", name: UIDeviceOrientationDidChangeNotification, object: nil)
已被触发并调用“MySelector”导致无用的ui更新。 当我的设备水平倾斜时,有一种方法可以避免触发我的选择器吗?
答案 0 :(得分:0)
我从以下问题中看到的问题:Link - 如果您不希望出现此类通知,那么您将需要覆盖viewDidDisappear方法并调用removeObserver()。我不确定这是否是您正在寻找的答案,因为我在理解您的原始问题时遇到了一些麻烦。如果这是你想知道的,请告诉我。
答案 1 :(得分:0)
尝试在if条件中包装调用函数以确保方向已更改。这是伪代码:
func MySelector
{
if oldorientation != neworientation
{
do stuff
}
}
如果此代码仍在触发,那么这意味着系统将进入纵向然后水平真实快速,您可能需要放入一个小型计时器或其他东西来仔细检查方向。