Swift3 我想在每次点击按钮时更改图像
我想在每次点击按钮时更改图像。Swift3 我想在每次点击按钮时更改图像,swift3,uiimageview,uibutton,swift2,uiimage,Swift3,Uiimageview,Uibutton,Swift2,Uiimage,我想在每次点击按钮时更改图像。 图像的名称如下所示。 1.巴布亚新几内亚 2.巴布亚新几内亚 3.巴布亚新几内亚 4.巴布亚新几内亚 按钮的名称为addButton。 目前,每次点击addButton,图像切换如下。 1.巴布亚新几内亚→ 2.巴布亚新几内亚→ 3.巴布亚新几内亚→ 4.巴布亚新几内亚→ 1.巴布亚新几内亚→ 2.巴布亚新几内亚→ 3.巴布亚新几内亚→ 循环… 代码如下。 class ViewController: UIViewController { var
图像的名称如下所示。
1.巴布亚新几内亚
2.巴布亚新几内亚
3.巴布亚新几内亚
4.巴布亚新几内亚
按钮的名称为addButton。
目前,每次点击addButton,图像切换如下。
1.巴布亚新几内亚→ 2.巴布亚新几内亚→ 3.巴布亚新几内亚→ 4.巴布亚新几内亚→ 1.巴布亚新几内亚→ 2.巴布亚新几内亚→ 3.巴布亚新几内亚→ 循环…
代码如下。
class ViewController: UIViewController {
var imageNum: Int = 0
var imageArray:[UIImage] = []
var stampImage = UIImage(named: "1")!
var stampView:UIImageView!
@IBOutlet weak var addButton: UIButton!
//@IBOutlet weak var reduceButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
for i in 1...4 {
imageArray.append(UIImage(named: "\(i).png")!)
}
stampView = UIImageView(image: imageArray[0])
stampView.center = self.view.center
}
@IBAction func addButtonTapped(_ sender: UIButton) {
imageNum = (imageNum + 1) % imageArray.count
stampView.image = imageArray[imageNum]
stampImage = UIImage(named: "\(imageNum + 1)")!
}
}
接下来,当您点击reduceButton时,您希望显示一幅图像。例如,
如果当前显示的图像是2.png,
您希望按如下方式为每个点击显示还原按钮。
2.巴布亚新几内亚→ 1.巴布亚新几内亚→ 4.巴布亚新几内亚→ 3.巴布亚新几内亚→ 2.巴布亚新几内亚→ 1.巴布亚新几内亚→ 4.巴布亚新几内亚→ 3.巴布亚新几内亚→ 循环…
在这种情况下,我应该做什么样的编码呢?
你也可以做同样的事情,减去一,而不是像这样将其添加到
imageNum
:
imageNum = (imageNum - 1) % imageArray.count
但是,由于imageNum
可能会变为负数,因此将imageArray.count
添加到括号中的表达式会更安全,因此最后一行如下所示:
imageNum = (imageArray.count + imageNum - 1) % imageArray.count
通过添加
imageArray.count
我们可以防止模运算在负变量上运行,同时还可以保持所有数字之间的正确循环,因为在模运算的rhs上添加任何数字的乘法器都不会影响表达式的结果。在一次运算后的几天,我很担心显示错误。它开始工作没有问题。谢谢你的评论。