Swift:多次更改图像

问题描述:

在我的应用程序中,我希望在一个控件中显示多个图像,并最终解决最后一个图像。以下代码运行良好,但只显示最后一个图像。这就像设置图像后页面不刷新一样。这里是我的代码:Swift:多次更改图像

var num: UInt32 = 1 
      let roll1: [UInt32] = [ 
       randRange(1,upper: 6), 
       randRange(1,upper: 6), 
       randRange(1,upper: 6), 
       randRange(1,upper: 6), 
       randRange(1,upper: 6), 
       randRange(1,upper: 6), 
       randRange(1,upper: 6), 
       randRange(1,upper: 6) 
      ] 

for index in 0...7 { 
       Dice1.hidden = true 
       num = roll1[index] 
       switch num 
       { 
       case 1: 
        Dice1.image = UIImage(named: "one.png") 
       case 2: 
        Dice1.image = UIImage(named: "two") 
       case 3: 
        Dice1.image = UIImage(named: "three") 
       case 4: 
        Dice1.image = UIImage(named: "four") 
       case 5: 
        Dice1.image = UIImage(named: "five") 
       case 6: 
        Dice1.image = UIImage(named: "six") 
       default: 
        Dice1.image = UIImage(named: "one.png") 
       } 
       Dice1.hidden = false 
} 

我如何获取图像到所有显示?

+0

看到该代码后,我认为* Dice1 *是一个UIImageView?当您设置Dice1.image时,将覆盖图像视图中的图像(如果有的话)。如果你想要显示多个图像,我认为你需要多个UIImageView。 – beeef 2014-11-08 17:11:41

+0

我想要8个图像一次显示在同一个UIImageView中,每个显示半秒钟左右。然后最后一个图像保留在页面上 – lascoff 2014-11-08 17:35:42

+0

我没有看到任何暂停代码。你很可能会很快改变图像,以至于一切都发生在一帧内。 – Andrew 2014-11-08 18:40:25

我推荐使用NSTimer这一个。它不会保留你的主线,并且会更合适。

您可以在代码的结尾把这个内幕:

sleep(0.5);