访问嵌套堆栈视图
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
}
}
使用subviews:stackView.subviews
显然是在监督一些简单的事情。需要在 另一个 堆栈视图中访问 嵌套 堆栈视图。
如果我想为乘客 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
}
}
使用subviews:stackView.subviews