swift - 访问嵌套堆栈 View

标签 swift swift3 uistackview

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

如果我想为乘客 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) enter image description here

解决方案:基于 Winter 的回答

为可能遇到困难的其他人提供更多细节,确保将 subview 转换为堆栈 View

// 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
    }
}

最佳答案

使用subviews : stackView.subviews

关于swift - 访问嵌套堆栈 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42429256/

相关文章:

ios - UIViewController 自定义过渡卡在 iOS13 上

Swift:是否可以完全操作TextField、Button等网页元素?

swift - 有没有办法在最新的 Swift 3 快照中使用 C 可变参数函数?

ios - UIScrollView 不会滚动直到子 UIStackView 结束

ios - 具有自定义约束的 UIStackView - 更改轴时出现 "Unable to simultaneously satisfy constraints"

ios - 意外发现nil

objective-c - 无法以编程方式快速在 UITextView 内的右上角添加按钮

ios - 批量上传多张图片的最佳方式

ios - 如何计算得分速度?

ios - 如何添加前导填充以在 UIStackView 中添加 View