在堆栈视图中同时隐藏/显示多个视图有多种解决方法,以下是其中一种常见的解决方法,使用了一个辅助方法来循环遍历每个要隐藏/显示的视图。
// 辅助方法:同时隐藏/显示多个视图
func setViewsHidden(_ hidden: Bool, views: [UIView]) {
for view in views {
view.isHidden = hidden
}
}
// 例子:同时隐藏多个视图
let view1 = UIView()
let view2 = UIView()
let view3 = UIView()
let viewsToHide = [view1, view2, view3]
setViewsHidden(true, views: viewsToHide)
// 例子:同时显示多个视图
let viewsToShow = [view1, view2, view3]
setViewsHidden(false, views: viewsToShow)
这个例子中,我们首先定义了一个辅助方法setViewsHidden
,它接受一个布尔值hidden
和要隐藏/显示的视图数组views
作为参数。该方法使用for-in
循环遍历每个视图,并将它们的isHidden
属性设置为传入的布尔值。
然后,在例子中我们创建了三个UIView
实例,并使用一个数组viewsToHide
来存储需要隐藏的视图。我们调用了setViewsHidden
方法,并传入true
作为要隐藏的视图的参数。这样,每个视图的isHidden
属性都被设置为true
,从而隐藏了它们。
同样地,我们可以使用另一个数组viewsToShow
来存储需要显示的视图,并调用setViewsHidden
方法来将它们的isHidden
属性设置为false
,从而显示这些视图。
通过这种方式,我们可以同时隐藏或显示多个视图,避免了重复的代码。