好吧,我的代碼有問題。我想使用imageViewers製作某種類似網格的網格,但是當更改imageViewers的圖像方法時,它只會在屏幕/圖像查看器完成執行後更新屏幕,而不是在執行屏幕/圖像查看器時執行。我有一個無限循環的方法,它會在您按下按鈕時更改imageViewers的圖片。這些按鈕調用將布爾變量更改爲true的方法,因此主遊戲循環通過不斷檢查某些變量是否爲真來知道被按下的是什麼。但是因爲遊戲循環永遠不會結束,屏幕永遠不會更新。有沒有辦法在執行過程中更新屏幕上的內容?UIImageViewer不更新其內容,直到方法完成,而不是執行命令
我使用此代碼來改變imageViewers內容:
UIImage * white = [UIImage imageNamed: @"White.png"];
UIImage * blue = [UIImage imageNamed: @"Blue.png"];
int tagInt=1;
for (int y = 0;y<10;y++){
for (int x = 0;x<10;x++){
UIImageView *imageView;
imageView = [[UIImageView alloc] initWithImage:white]; imageView.frame =CGRectMake(x*32,y*37,32,37);
imageView.image = white;
imageView.tag=tagInt;
[self.view addSubview:imageView];
tagInt++;
}
}
for (int u = 1;u<20;u++){
[NSThread sleepForTimeInterval:(1)];
UIImageView *g = (UIImageView*)[self.view viewWithTag:u];
g.image =blue;
}
這是一個人爲的例子,因爲我的實際代碼太長,但有同樣的問題。它只在最後一個for循環(此延遲/線程休眠命令)完成後在屏幕上更新,而不是執行代碼行。
編輯:這裏是你想要的任何方面的項目:https://www.dropbox.com/s/cvefllnhgj0tp6g/Stacker.zip
爲什麼你就不能檢查您的按鈕的方法哪些變量是真實的並在按鈕方法中相應地更改圖像視圖 –
好主意,我想這會更有意義。儘管即使沒有按鈕被按下,圖像視圖仍然在變化。所以這一點不會解決我的問題。但如果我的遊戲性質不同:)。 –