簡體   English   中英

如何將四個uibutton彼此等距居中?

[英]How do I center 4 uibuttons with equal distance from each other?

我有4個uibutton。 每個按鈕必須為100x100。 我想將其中的四個居中(水平)在屏幕中央,但將其垂直放下。 我不知道從哪里開始,但是我聽說stackviews可以工作嗎? 不確定。 我嘗試使用基本約束,但無法使其正常工作。

這就是我想要得到的: 在此處輸入圖片說明

步驟1:-在情節提要中選擇4按鈕。 Button1,Button2,Button3,Button4

步驟2:-將固定的高度和寬度賦予所有按鈕。

在此處輸入圖片說明

步驟3:-在2個stackview中的所有2-2個按鈕對。

在此處輸入圖片說明

步驟4:-都設置UIStackview屬性。

      Distribution -> Fill Equally
           Spacing -> 5 (as per your requirement)

在此處輸入圖片說明


在此處輸入圖片說明

步驟5:-將兩個Stackview都添加到一個Stackview中

在此處輸入圖片說明

步驟6:-設置Distribution = Fill equally Spacing =5在主堆棧視圖中Distribution = Fill equally Spacing =5 (根據您的要求設置)

在此處輸入圖片說明

步驟7:-現在將Constrain設置為main stackview

      center Horizontally in container

      center vertically in container

        and select Update Frame.

在此處輸入圖片說明

步驟8:-現在是輸出所有設備的時間了。

在此處輸入圖片說明

希望對您有幫助。

看一下的方法有很多:

理念:

  1. 首先,將所有按鈕都等於寬度和高度約束,然后向其中一個按鈕添加寬度和高度100約束。

  2. 對於每個按鈕中心,相對於其父對象的X / Y。 約束:對齊中心X,對齊中心Y

  3. 向常量添加偏移量(在界面構建器中):

    • 左上按鈕:X偏移-60,Y偏移-60
    • 右上按鈕:X偏移量為60,Y偏移量為-60
    • 左下按鈕:X偏移-60,Y偏移60
    • 右下按鈕:偏移X為60,Y為60。

快速示例(我在IB中做了約束): https : //github.com/Abreu0101/ButtonLayout

========

您擁有的另一種選擇是在按鈕之間使用透明視圖,並將該視圖的(透明)居中,並基於這些視圖向按鈕添加約束(有時我會用到棘手的技巧,但是這完全取決於您的需要)。

您也可以在不使用UIStackView的情況下嘗試此操作(如果需要在<iOS 9上運行) 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM