簡體   English   中英

iOS / Objective-C / Autolayout將四個圖像水平居中

[英]IOS/Objective-C/Autolayout Center four images horizontally

我一直很容易地使用autplayout將三個圖像居中。 我將中間的一個水平居中,將所有三個設置為相同的基線,然后相對於中間的一個設置外部空間的前導和尾隨空間。

但是,現在,我需要添加第四個圖像,並因此使偶數個圖像居中。 所以我不能再使用相同的把戲了。 我想避免添加更多的子視圖,但是想不出一種簡單的方法來做到這一點。

誰能推薦一種首選的做法,將水平數量的偶數圖像水平居中?

這是三個圖像的樣子。 我要添加第四個。

在此處輸入圖片說明

感謝您的任何建議。

我建議您使用堆棧視圖。 對於您的情況,您可以使用水平堆棧視圖,將分布設置為相等。 根據需要將約束設置到您的stackview並將圖像視圖放入stackview中。 每當您要添加新圖像時,只需拖動它,它就會相應地進行調整。

在此處輸入圖片說明

看起來像這樣

在此處輸入圖片說明

如果添加另一個,它將看起來像這樣。

在此處輸入圖片說明

您可以在此處閱讀有關如何使用堆棧視圖的更多信息

蘋果資料

好的教程

使用UIStackView進行以下工作:

let stackView = UIStackView()

stackView.distribution = .fill
stackView.alignment = .center
stackView.axis = .horizontal
stackView.spacing = 30 // or whatever you need

// now add the dots to your stackView:
stackView.addArrangedSubview(dot1)
stackView.addArrangedSubview(dot2)
stackView.addArrangedSubview(dot3)
stackView.addArrangedSubview(dot4)

// and just add and lay out the stackView, stackView itself will take care of positioning the dots
self.view.addSubview(stackView)
...

暫無
暫無

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

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