[英]Show or hide items by clicking button
我在XIB中有四个imageview内容,一个按钮覆盖了我的所有XIB。 我想在用户点击按钮时进行显示,显示第一个imageview,隐藏下一个点击,显示第二个imageview,依此类推,直到显示/隐藏我的所有imageview。 什么是最有效的方法?
将所有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
}
我建议您使用一个状态变量,该变量包含一个列出各种状态的枚举(firstImageVisible,secondImage ....),然后您可以在枚举内使用一个函数,该函数可以切换到nextState(成为按钮操作的目标),也可以轻松遍历枚举的状态,请查看CaseIterable
协议的文档。 通常,在状态上有一个属性观察器(didSet)是一个方便的地方,用于更新每次状态更改时都需要更改的UI的其他部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.