2012-11-07 33 views
2

我已經做了一噸的研究和我仍然無法找到一個解決方案...啓動景觀的應用程序下iOS6的同時支持所有方向

我有一個支持所有方向的應用程序。當應用程序在iPad上運行時,我希望它在橫向模式下啓動。如果用戶選擇,用戶可以旋轉至肖像。在ios5下,我通過在info.plist文件中將iPad支持的方向設置爲lansdcape左側來實現此目標。然後,我在每個視圖控制器中使用shouldAutorotateToInterfaceOrientation方法來允許應用程序運行時的所有方向。

然後,我改變了我的代碼,以支持iOS6的新定位方法,但是當我在iPad上運行應用程序時,它根本沒有旋轉。然後,我更改了info.plist文件以支持iPad的所有方向。這解決了iPad不能自動旋轉的問題,但現在我無法弄清楚如何強制應用程序最初以橫向模式打開。有任何想法嗎?

在此先感謝您的幫助!

回答

1

我最近碰到類似的東西,雖然我的問題是我想強迫iPhone應用程序中的肖像,但允許電影播放橫向。下面是我所做的:

屬性添加到我的應用程序的委託來存儲我想允許的方向:

@property (nonatomic, assign) NSUInteger supportedOrientations; 

然後在應用程序的委託,實施了新的iOS 6的方法:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { 

    return supportedOrientations; 
} 

在應用程序啓動我被迫肖像:

self.supportedOrientations = UIInterfaceOrientationMaskPortrait; 

,然後一旦應用程序已經完成發射和我想我的顯示根視圖控制器,我將它設置爲支持兩個方向:

self.supportedOrientations = UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape; 

我不得不添加繼承我的UINavigationController,以防止後旋轉的額外步驟,因爲我想,讓景觀視頻,但不輪換:

- (BOOL)shouldAutorotate { 

    return FALSE; 
} 

但是,這只是信息。你不會需要那個

+0

非常感謝!我認爲這將工作得很好! – Glasswing

相關問題