2012-07-18 33 views
-1

我似乎在下面的代碼中遇到設備特定的問題,因爲它只在測試時影響iPhone 3GS。僅在iPhone 3GS上發生旋轉問題

基本上,接口不旋轉。它適用於比3GS更新的所有iPad和iPhone。如果你能幫助我,我將不勝感激!

代碼:

- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation { 
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     return YES; 

    } else { 
     return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
    } 
} 
+0

什麼是你正在測試的設備上的iOS版本?這聽起來更像我的問題,這是你的問題,而不是設備本身。 – WendiKidd 2012-07-18 03:07:04

+0

該版本是iOS 5.1.1,這讓我很難理解它爲什麼不起作用。 – klcjr89 2012-07-18 03:11:39

+0

呵呵。僅僅爲了澄清一下,它在你使用的其他測試設備上也是5.1.1。 – WendiKidd 2012-07-18 03:14:29

回答

0

在你的appDelegate didLaunch方法,你能旋轉:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
+1

爲什麼只需要這些代碼就可以解決3GS問題,但是對於較新的iPhone手機來說卻沒有必要? – klcjr89 2012-07-19 00:23:15

+0

閱讀文檔 - 你必須使用它來保證你得到旋轉。它不是可選的。現在,如果某個OTHER應用已經設置了它,那麼您可能會收到消息。或者,也許它是您獲得它們的不同手機的「功能」。文檔說,如果你想旋轉你需要做這個消息 - 它並沒有說如果你不這樣做,你不會得到它們。 – 2012-07-19 12:59:32

+0

@ troop231這是否解決了這個問題?如果確實如此,太棒了!但我從來沒有使用過'beginGeneratingDeviceOrientationNotifications',並且總是在從運行5.1.1的3GS到運行4.2.1到4S和iPad的3G的所有設備上獲得我的輪換事件。 – Rob 2012-07-21 16:56:16