簡體   English   中英

UIStackView:添加相同寬度的排列視圖

[英]UIStackView: add arranged views with the same width

我有 UIStackView 並且想在這個視圖中添加一些排列好的視圖......有時是一個,有時是兩個,三個......等等。 UIStackView 有全寬。 我希望排列的視圖具有相同的寬度且左對齊,這樣它們就不會填充 UIStackView 的整個寬度。

這就是我所擁有的:

在此處輸入圖片說明

這就是我想要的:

在此處輸入圖片說明

是否有可能以某種方式做到這一點,或者我是否需要根據我添加的排列數量來更改 UIStackVIew 的寬度?

我的代碼:

        // creating views
    stackView = {
        let v = UIStackView()
        v.axis = .horizontal
        v.alignment = .center
        v.distribution = .fillEqually
        v.spacing = 5
        v.translatesAutoresizingMaskIntoConstraints = false
        return v
    }()
 if let img = chosenImage {
            let imageView: UIImageView = {
                let l = UIImageView()
                l.translatesAutoresizingMaskIntoConstraints = false
                l.image = img
                return l
            }()
            self.stackView?.addArrangedSubview(imageView)
            imageView.addConstraint(NSLayoutConstraint(item: imageView, attribute: .width, relatedBy: .equal, toItem: imageView, attribute: .height, multiplier: 1, constant: 1))
            imageView.setNeedsUpdateConstraints()
        } else {
            print("Something went wrong")
        }

在 storyboard 上,選擇 stackview,屬性檢查器 -> Stackview -> Distribution,選擇 Fill Equally。

在此處輸入圖片說明

您可以在最后向 StackView 添加一個空的清晰視圖,並為此視圖設置擁抱和阻力優先級。 它應該調整到可用空間,因此“填充視圖”的擁抱優先級必須更高,“填充視圖”的阻力應該低,在您的真實物品上,將阻力設置為更高的值

在此處輸入圖片說明

暫無
暫無

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

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