2017-03-22 125 views
1

我需要在每個設備上進行登錄,看起來像下面的圖像,我嘗試將約束設置爲圖像,文本字段和按鈕,但在所有設備上看起來不一樣,所以問題是如何設置約束取決於設備,圖像和字段將調整每個設備?我是個工作的故事板Swift 3如何在每個設備上調整約束尺寸

enter image description here

+0

那麼想要什麼組件可以根據屏幕大小進行擴展,對吧? –

+0

@AhmadF是的,完全是我所需要的 –

+0

試試這個教程https://www.raywenderlich.com/115440/auto-layout-tutorial-in-ios-9-part-1-getting-started-2 –

回答

1

你究竟應該選擇你的對象想在你的故事板來設置。然後單擊ctrl按鈕,然後將光標滾動到超級視圖,然後單擊equalwidth/equalheight屬性並設置倍數。它是。

2

創建圖片高度約束和配合控制器 image

但也有佈局

@IBOutlet weak var yourConstraint: NSLayoutConstraint! 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    let size = view.bounds.size.width 


    if size > 400 { 

     yourConstraint.constant = 230 

    }else if size > 350 { 

     yourConstraint.constant = 200 

    }else{ 

     yourConstraint.constant = 170 

    } 
    } 
2

考慮到你處理通過Storybaord約束更好的選擇(對我來說,在大多數情況下,我更喜歡要做到這一點),當組件大小必須與屏幕大小相關時,應根據它們的Multiplayer值添加其高度/寬度限制。

要清楚,請看下面的例子:

這是一個給定的情景:

enter image description here

兩個黑色和藍色的觀點尺寸:(width: 187.5, height: 66.5),但有東西,黑色視圖寬度/高度約束是基於恆定值:

enter image description here

但藍色的約束是基於多人值:

enter image description here

正如你可以看到,這兩個制約因素都在說:「比例到:上海華」,這意味着它們的值成比例的基礎上,超級視圖的價值。通過選擇寬度觀點 - 對於示例 - :

enter image description here

注意,Multiplayer值是0.5,這意味着,這種觀點(藍色視圖)寬度將與上海華盈的寬度的一半大小,無論有什麼超視圖寬度的值。

如何添加這個約束?

  • 選擇所需的視圖。
  • ctrl +拖動到超級視圖
  • 選擇「等寬」選項。

現在,它應該是類似於:

enter image description here

選取約束和編輯(從尺寸檢查)其Multiplayer值所需的值。

OR

甚至更​​簡單的特技,確保所需的視圖寬度是等於該上海華寬度添加約束,這使得改變Multiplayer值設定爲不顯示橙色約束更容易了。

輸出:

iPhone 7:

enter image description here

iPad的臨:

enter image description here

藍視圖寬度總是屏幕的寬度,同時黑色一個具有固定的寬度。

希望這有助於。

+0

這是什麼我需要,但是另一個問題是如何使用從物體到底部的約束以及從左側設備側限制到對象? –

+0

很高興幫助。我認爲我沒有得到它:)「從對象到底部的約束」:應該是「垂直間距到底部」和「從左側設備側約束到對象」:應該是「領先的空間到容器」,是的,約束多人遊戲都是可編輯的。 –