2015-10-16 55 views
-1

當我水平傾斜iPad設備時,我獲得了一個奇怪的行爲。 通知:iPad設備的奇怪行爲已經水平傾斜

NSNotificationCenter.defaultCenter().addObserver(self, selector: "MySelector", name: UIDeviceOrientationDidChangeNotification, object: nil) 

已被觸發,並調用 「MySelector」 導致無用UI更新。 當我的設備水平傾斜時,有一種方法可以避免觸發我的選擇器?

回答

0

我從以下問題中看到:Link - 如果您不想要這樣的通知出現,那麼您將希望覆蓋viewDidDisappear方法並調用removeObserver()。我不確定這是否是您正在尋找的答案,因爲我在理解您的原始問題時遇到了一些麻煩。讓我知道這是你想知道的。

+0

這樣做會禁用所有方向翻轉,我相信海報是說如果他有一個設備平放在面向水平的表面上,他擡起屏幕,它仍然是水平的,它仍然調用orientationdidchange通知。 – Knight0fDragon

+0

嗯,好吧,我沒有想到這是OP的問題意味着什麼。 –

+0

@ Knight0fDragon你解釋了我的問題 –

0

嘗試在if條件中包裝調用函數以確保方向已更改。這是僞代碼:

func MySelector 
{ 
    if oldorientation != neworientation 
    { 
     do stuff 
    } 
} 

如果此代碼仍然射擊,那麼這意味着該系統將人像,然後水平真正的快,你可能要放一個小計時器什麼的仔細檢查方向。