2014-09-02 56 views
1

我正在研究應該支持縱向和橫向方向的應用程序。使用自動佈局在視圖中重新排列控件時沒有問題,但有一些我無法使用自動佈局執行的操作。我在縱向視圖下有兩個視圖,我希望它們在橫向視圖中彼此相鄰。我可以將底部視圖移到右側的X位置,但仍然位於頂部視圖之下。這幅畫描述了我想做的事:如何在Xcode 5中重新定位設備旋轉元素?

http://www.hesamstore.ir/Orient.png

我怎樣才能做到這一點?

感謝您的閱讀。

回答

0

添加約束所有IBOutlets。

添加約束條件 - 1.高度,寬度,尾隨和領先,這將解決它, 如果你想要準確的比例,然後選擇兩個出口和增加一個比率的水平約束。

並且還選擇一個標籤及其相應的開關並添加水平間距並將其設置爲EQUAL。

是的,應該這樣做。

+0

是啊這稱爲自動佈局, 自動佈局出現在ios6(我認爲)之後,爲幀編寫代碼已過時。 :) – 2014-09-02 11:52:01

+0

很好的解決方案。但有一些問題。我添加了領先的Space To Super View到4個第一對選項。他們堅持到左邊。我添加了空間到超級視圖到4秒。他們堅持正確的做法,但他們仍然處於第一套選項之下。該怎麼辦? – 2014-09-02 12:04:09

+0

將一組完整的約束添加到任意一側的1個標籤+開關組中, 下面的那些只需選擇具有所有約束的那個,即下面的設置和垂直間距,然後按照下面的設置和垂直間隔, 它就像一個等式,你必須將它設置爲1,然後你將1與正確的1連接起來,然後它就變成正確的,然後像這樣繼續, 但它取決於你的應用程序的佈局。 – 2014-09-02 12:06:48

0

只是實現此方法對你的代碼...

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 
{ 

    BOOL isPortrait = UIDeviceOrientationIsPortrait(self.interfaceOrientation); 
    if(isPortrait == NO) 
    { 
     // this is landScape mode.... 
     // here give the frames that you want for your controls... 
    } 
    if(isPortrait == YES) 
    { 
     // this is portrait mode.... 
     // here give the frames that you want for your controls... 
    } 

}