2014-11-08 73 views
0

在我的應用程序中,我希望在一個控件中顯示多個圖像,並最終解決最後一個圖像。以下代碼運行良好,但只顯示最後一個圖像。這就像設置圖像後頁面不刷新一樣。這裏是我的代碼: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

回答

0

我推薦使用NSTimer這一個。它不會保留你的主線,並且會更合適。

1

您可以在代碼的結尾把這個內幕:

sleep(0.5);