我正在尝试创建一个具有3个视图的应用程序。每个视图都有一个隐藏自己的按钮。现在,我在视图外部添加了一个按钮,以便在隐藏它们之后重新添加它们,但是,当我删除视图并按下它时,它将向我显示所有三个视图。我希望它一次添加一个视图(而不删除其他视图)。我能做什么? 这是我的代码,我什至在考虑添加多个添加按钮,但不清楚。
@IBAction func addViewButton(_ sender: Any) {
view1.isHidden = false
view2.isHidden = false
view3.isHidden = false
}
答案 0 :(得分:1)
在您的ViewController中声明一个类似于currentVisibleViews的变量,并说一开始只有第一个可见,因此我们将数字从1开始,并且还将您的视图添加到数组中以便于控制:
var currentVisibleViews = 1
var viewArray = [UIView]()
在viewDidLoad
中,将您的视图添加到viewArray
:
view1.isHidden = false
view2.isHidden = true
view3.isHidden = true
viewArray.append(view1)
viewArray.append(view2)
viewArray.append(view3)
然后单击您的按钮:
@IBAction func addViewButton(_ sender: Any) {
if currentVisibleViews > 2 {
viewArray.forEach { (view) in
view.isHidden = true
}
currentVisibleViews = 0
} else {
viewArray[currentVisibleViews].isHidden = false
currentVisibleViews += 1
}
}
上面的代码是这样的:
通过这种方式,您只能拥有一个功能来控制所有视图,而不必再是IBAction了,它可以只是ViewController的一种方法