我正在尝试通过单击按钮在图像视图中创建图像幻灯片。我将图像名称存储在数组中,并创建了一个for循环以迭代图像。下面是我的代码。当我单击按钮并成功打印数组的所有四个值(即0、1、2、3和4)时,代码将进入for循环。我不确定为什么图像转换没有完全发生;仅在图像更改一次之后,随后的图像才会出现。以前我试图通过单击按钮来一张一张地更改图像,这是该问题的链接: Unable to play a sequence of images while clicking on a button
在检查答案时,我遇到了幻灯片显示的选项以及其他几个选项,但是由于在以前的情况下可以使用相同的代码,并且执行进入了for循环,所以我很想知道为什么下面的代码是不起作用:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var image2: UIImageView!
// @IBOutlet weak var imageView1: UIImageView!
// img1.image=UIImage(named:"frame2.gif")
@IBAction func next(_ sender: Any) {
var imgarray=["frame2.gif","frame3.gif","frame4.gif","frame5.gif","frame6.gif"]
var i=0
/*code for slideshow
declare i outside the function for 0
if i<7{
image2.image=UIImage(named:imgarray[i])
i+=1
}
else if i>=7{
i=0
}*/
for _ in i...4{
print(i)
image2.image=UIImage(named:imgarray[i])
i=i+1
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}