2012-06-07 51 views
2

我是一個新的iOS編程,我正在開發一個簡單的iPhone遊戲,只需要在橫向上運行。我已經...僅適用於橫向應用的最佳做法?

  1. 組支撐取向在目標設置
  2. 添加的REQ。的plist項目(初始界面方向)
  3. 重寫shouldAutorotateToInterfaceOrientation只爲橫向模式

返回YES ..和應用程序「看起來」是正確的,但也有一些奇怪的事情怎麼回事。

問題1 - 我試圖手動定位我的視圖,而不依賴於自動佈局。我在加載的NIB中有一個UIView,需要在屏幕右邊緣放置150px。我必須得到UIViewController視圖的高度(而不是寬度)才能正確定位它 - 就像它不會在代碼中旋轉到橫向。

問題2 - 實現UINavigationController以從標題屏幕轉到遊戲交互。當我將交互UIViewController推入堆棧時,它就像它應該的那樣從右側滑入。當我通過彈出交互回到標題時,它會滑向標題。好像它正在旋轉回肖像?

我覺得有一些非常基本的我失蹤,但在我的應用程序的代碼,我找不到它。我已經瀏覽了一個風景應用程序的列表,但他們沒有提到比上面列表更多。

有沒有其他的東西/設置/方法來覆蓋,我應該在尋找?

+0

我遇到的第一個問題,我發現,在'-viewDidLoad:'觀點並未經過旋轉,但在'-viewWillAppear:'視圖已經被旋轉爲橫向,可以設置更多的你會的方式期望。我對問題2沒有幫助恐怕 –

+0

您是否在其他viewControllers中設置了'shouldAutorotateToInterfaceOrientation'?尤其是那些顯示在你的UINavigationController中的。 –

+0

@HolgerFrohloff就是這樣!現在修好!謝謝! –

回答

0

你需要設置shouldAutorotateToInterfaceOrientation在其他viewControllers爲好。尤其是那些顯示在你的UINavigationController中的。

0

問題2:

請勿使用許多UIViewController。使用一個視圖控制器。創建一個主要的UIViewController和其他UIViewController的只是做:

[mainviewcontrl presentModalViewcontroller: child_viewcontrl animated: YES]; 

對於刪除子視圖控制器,使用

[child_viewcontrl dismissModalViewControllerAnimated: YES]; 
+0

之前,我實現了UINavigationController的,我嘗試了使用普通的UIViewController但上面的代碼,我沒有看到我的孩子VC的加入到屏幕上。無法弄清楚,所以我換了。我喜歡UINavigationController提供的轉換。 –

相關問題