2012-01-04 46 views
0

我正在寫一個應用程序,遇到兩個問題。我一整晚都在搜索網頁,但沒有成功,並想知道這裏有沒有人可以提供幫助。如何強制UIInterfaceOrientation?

  1. 應用程序啓動時,我希望它默認爲風景模式,並檢測它是否在UIInterfaceOrientationLandscapeLeft或UIInterfaceOrientationLandscapeRight。我在.xib文件中以橫向模式創建了UI。但是,當我檢查self.interfaceOrientation時,無論主頁按鈕位於iPad模擬器的左側還是右側,它總是返回UIInterfaceOrientationLandscapeLeft。

  2. 當用戶在兩個橫向之間旋轉iPad時,我希望視圖發生變化。用一個簡單的例子來說明,如果它是UIInterfaceOrientationLandscapeLeft,我想在屏幕的左邊寫1,在屏幕的右邊寫2。在UIInterfaceOrientationLandscapeRight中,在屏幕左側寫2,在屏幕右側寫1。 iOS中的哪種方法可以告訴我用戶何時旋轉設備?

非常感謝。

回答

0
  1. 你在哪裏檢查?如果在applicationDidFinishLaunching或視圖控制器的viewDidLoad中這樣做,那麼界面方向可能還沒有正確設置。等到viewWillAppearviewDidAppear檢查。

  2. 請在您的視圖控制器中查看shouldAutorotateToInterfaceOrientation。您需要將YES返回到支持的方向,所以如果您想要返回YES如果interfaceOrientation是橫向(有一個輔助函數用於檢查橫向vs縱向)。另請看didRotateFromInterfaceOrientation,它告訴你用戶何時旋轉過。

+0

1.我通過添加的NSLog語句檢查它在shouldAutorotateToInterfaceOrientation。這可能不是最好的方法,因爲有時它似乎永遠不會從shouldAutorotateToInterfaceOrientation返回'是',我添加NSLog後。謝謝,我會檢查你提供的鏈接。 – Joe 2012-01-04 09:26:47