访问嵌套堆栈视图

Access nested stack views

显然是在监督一些简单的事情。需要在 另一个 堆栈视图中访问 嵌套 堆栈视图。

如果我想为乘客 2 的所有嵌套 stackView 设置间距,我该怎么做?

// Select passenger 2
let tag = 2

// Select wrapper stackView for passenger 2
let stackView = self.view.viewWithTag(tag) as! UIStackView!

let nestedStackViews = stackView. <-- WHAT GOES HERE??

for sv in nestedStackViews{
    sv?.spacing = 0 // Set nested stackView spacing to 0 to avoid constraint issues
}

可视化(需要将firstName_P2、surname_P2和email_P2的间距设置为0)

解决方案:基于 Winter 的回答

为可能遇到困难的其他人提供更多详细信息,确保将子视图转换为堆栈视图

// Select passenger 2
let tag = 2

// Select wrapper stackView for passenger 2
let stackView = self.view.viewWithTag(tag) as! UIStackView!

if let nestedStackViews = stackView?.subviews{
    for sv in nestedStackViews{
        let nsv = sv as! UIStackView
        nsv.spacing = 0
    }
}

使用subviewsstackView.subviews