如何使按钮一次添加一个视图?

时间:2019-01-15 23:56:58

标签: swift view uibutton

我正在尝试创建一个具有3个视图的应用程序。每个视图都有一个隐藏自己的按钮。现在,我在视图外部添加了一个按钮,以便在隐藏它们之后重新添加它们,但是,当我删除视图并按下它时,它将向我显示所有三个视图。我希望它一次添加一个视图(而不删除其他视图)。我能做什么? 这是我的代码,我什至在考虑添加多个添加按钮,但不清楚。

      @IBAction func addViewButton(_ sender: Any) { 
    view1.isHidden = false
    view2.isHidden = false
    view3.isHidden = false
    }

1 个答案:

答案 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
    }
}

上面的代码是这样的:

  1. 首先所有视图都是可见的
  2. 第一次点击将隐藏所有视图
  3. 然后每次点击都会显示一个视图
  4. 转到步骤2(所有视图均可见)

通过这种方式,您只能拥有一个功能来控制所有视图,而不必再是IBAction了,它可以只是ViewController的一种方法