2013-02-04 37 views
0

我已經使用兩個子視圖和一個按鈕設置了自定義視圖。我想更好地理解CGRect,並計算出高度/寬度應該如何使用以及如何正確對齊項目。我想象使用這樣的確切數字:有關旋轉和自定義視圖對象的詳細信息

UIButton *facebookLoginButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 300,75)]; 

...不是正確的方式來完成此操作。當設備旋轉時,再也無法適應屏幕了。

我也想知道如何不允許在一個視圖控制器上旋轉。例如,一個設置,我可以停止旋轉做任何事情的意見,然後在應用程序的旋轉將再次使用。

我已經瀏覽了蘋果設計文檔,但並不確定我在找什麼。我正在尋找設置邊界/中心項目/大小(寬度/高度)/使用多個子視圖以及如何在編程創建視圖時進行佈局的最佳實踐。

回答

0

您可以檢查設備方向,然後調整相關的尺寸。

[UIDevice currentDevice].orientation 

如果您在使用iOS6的,你可以看看限制。或者只是使用界面構建器,在那裏管理這些東西非常簡單(如果你不需要編程)。

對於縱/橫方向,檢查了這一點: Alternate landscape triggered at unwanted view

隨着我設法而應用程序的其餘全部停留在畫像只在一個視圖控制器進行橫向旋轉(但你可以採取的當然你的需求)。

+0

在這個例子中,我希望一個屏幕只顯示肖像,其他人會顯示爲兩個。我更喜歡以編程方式創建而不是使用界面生成器,因此我正在尋找有關如何根據不同手機屏幕(iphone5)的屏幕尺寸處理寬度/高度的信息。 – StuartM

+0

您是否看過約束條件(我認爲這完全是你在找什麼)?爲了找出屏幕尺寸,您可以使用[UIScreen mainScreen] .bounds.size.height,然後根據結果採用一些東西。 – d4Rk

+0

我正在使用IOS5。是的,我正在尋找更多使用主屏幕尺寸的信息。例如,當方向改變時會發生什麼?如何使用屏幕的高度/屏幕寬度來幫助在縱向和橫向上顯示與邊緣等距的按鈕?這是我正在尋找的信息,我很高興通過文檔,但不知道該找什麼和在哪裏可以找到這個... – StuartM