通过单击按钮显示或隐藏项目

时间:2019-09-06 00:31:05

标签: ios swift xcode

我在一个XIB中有四个imageview内容,一个按钮覆盖了我的所有XIB。我想在用户点击按钮时进行显示,显示第一个imageview,隐藏下一个点击,显示第二个imageview,依此类推,直到显示/隐藏我的所有imageview。什么是最有效的方法?

2 个答案:

答案 0 :(得分:2)

将您的所有UIImageViews保存到array,并且当前将imageView显示到变量中,它看起来像这样:

var imageViews: [UIImageView] = []

var currentImageViewIndex = 0 {
    didSet {
        if currentImageViewIndex >= imageViews.count { currentImageViewIndex = 0 }
        imageViews[oldValue].isHidden = true
        imageViews[currentImageViewIndex].isHidden = false
    }
}

func handleTap() {
    currentImageViewIndex += 1
}

答案 1 :(得分:0)

我建议您使用一个状态变量,该变量包含一个列出各种状态的枚举(firstImageVisible,secondImage ....),然后您可以在枚举内使用一个函数,该函数切换到nextState(成为按钮操作的目标)您还可以轻松地遍历枚举的状态,请查看CaseIterable协议的文档。通常,在状态上有一个属性观察器(didSet)是一个方便的地方,用于更新每次状态更改时都需要更改的UI的其他部分。