2016-09-20 51 views
0

我對使用約束很有經驗,但到目前爲止,我已經安排了一些垂直或水平中心。 我花了整個上午都在通過過去的問題和教程過篩,但我仍無法安排這兩個按鈕,它應該是簡單的,但我不能找到重要缺少的部分如何約束兩個按鈕與垂直中心等距離

enter image description here

Xcode的自己建議的限制只是在藥物上頭,並試圖自己添加它們出現問題的地方是,如果我將所有約束條件設置爲一個屏幕大小,那麼當在另一個屏幕上查看它們時,它們不會居中:

enter image description here

我如何添加一個約束,以便按鈕在垂直中心的兩側對齊?

+1

我會把一個隱形的小UIView放在水平中心,然後同樣給兩個按鈕分配水平間距。 – antonio081014

+0

我認爲,但認爲這一定是XCode內置的一些處理它的常見事件。但顯然不是? – Gruntcakes

+2

把它們放入stackview或uiview中,如果它是uiview,你需要添加約束,在stackview中你不需要。作爲@Dasem提到的 – Dasem

回答

0

@ Gereon的回答比@ conarch的,恕我直言,因爲spacer視圖幾乎從來都不是正確的方法。不過,我有第三種方法,我發現它比@ Gereon更強大,因爲它不依賴於硬編碼常量。

  1. 括兩個按鈕在UIView編輯器 - >嵌入在 - >查看)。
  2. 約束左鍵左邊緣父視圖左邊緣
  3. 約束右按鈕右邊緣父視圖右邊緣
  4. 約束左鍵右邊緣右按鈕左邊緣,並給它的所需的間距是恆定的。
  5. 限制你認爲合適的頂部和底部和/或高度。
  6. 對齊父視圖水平中心父視圖水平中心
+0

我尊重你的意見,但我認爲「更好」是主觀的,因爲它實際上取決於用戶最終想要完成什麼。我認爲這裏所有的3個答案都是可行的,並提供有用的方法來增加OP的知識庫。例如您的答案可能正是OP所需要的,但它並不總是對稱地將不同設備和方向上的按鈕放在一起(它們將始終完全分開「x」)。 – ghostatron

1

首先設置「在容器中水平對齊」約束。完成之後,您可以修改「對齊中心X」約束的constant以添加偏移量,例如, -10爲左側,10爲右側按鈕。

0

有幾種方法可以做到這一點,但常見的技巧可以幫助(如果不是現在,那麼以後)可以使用「間隔」視圖。在你的情況,你能...

  1. 把畫布上3個隱藏的UIView對象:一到第一個按鈕,一個到第二個按鈕右側的左側,2個按鍵之間的一個。
  2. 使用約束使這3個視圖始終具有相同的寬度。
  3. 將第一個按鈕b/n固定在前2個spacer視圖中,並將第二個按鈕b/n固定在最後2個spacer視圖上。 (即前/後爲0)