每次点击按钮时我都想更改图像
I want to change the image every time I tap the button
我想在每次点击按钮时更改图像。
图片名称如下
1.png
2.png
3.png
4.png
按钮的名称是 addButton。
目前,每次点击添加按钮时,图像切换如下。
1.png → 2.png → 3.png → 4.png → 1.png → 2.png → 3.png → 循环....
代码如下
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,
你想在每次点击时按如下方式显示 reduceButton。
2.png → 1.png → 4.png → 3.png → 2.png → 1.png → 4.png → 3.png → 循环...
遇到这种情况应该怎么编码?
您可以通过减一而不是像那样将其添加到 imageNum
来执行相同的操作:
imageNum = (imageNum - 1) % imageArray.count
但由于 imageNum
可以取负值,所以将 imageArray.count
添加到括号中的表达式会更安全,因此最后一行看起来像:
imageNum = (imageArray.count + imageNum - 1) % imageArray.count
通过添加 imageArray.count
,我们可以防止对负变量进行 运行 的模运算,同时还可以保持所有数字之间的正确循环,因为在模运算的 rhs 不影响表达式的结果
我想在每次点击按钮时更改图像。
图片名称如下
1.png
2.png
3.png
4.png
按钮的名称是 addButton。
目前,每次点击添加按钮时,图像切换如下。
1.png → 2.png → 3.png → 4.png → 1.png → 2.png → 3.png → 循环....
代码如下
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,
你想在每次点击时按如下方式显示 reduceButton。
2.png → 1.png → 4.png → 3.png → 2.png → 1.png → 4.png → 3.png → 循环...
遇到这种情况应该怎么编码?
您可以通过减一而不是像那样将其添加到 imageNum
来执行相同的操作:
imageNum = (imageNum - 1) % imageArray.count
但由于 imageNum
可以取负值,所以将 imageArray.count
添加到括号中的表达式会更安全,因此最后一行看起来像:
imageNum = (imageArray.count + imageNum - 1) % imageArray.count
通过添加 imageArray.count
,我们可以防止对负变量进行 运行 的模运算,同时还可以保持所有数字之间的正确循环,因为在模运算的 rhs 不影响表达式的结果