我創建了一個程序,發現一個錯誤,我似乎無法解決。NSTIMER似乎被忽略
我已經解決了這個問題,重新創建一個全新的項目,但它仍然發生。
問題是,當我按下按鈕圖像改變,但速度比在NSTIMER中設置的速度快得多,但只有第一次按下按鈕。
如果我繼續按下按鈕,圖像以我需要的速度變化。
只發生在第一次圓,我使用的是觸及事件(儘管我試圖觸摸起來INSIDE)
這只是發生在第一時間,是非常重要的是,第一次是一樣的與其他時間一樣。
我知道各種討論爲的NSTimer的準確性反正,但我不認爲這是有關我的問題
,這裏是我的.h
- (IBAction)slap:(id)sender {
NSString *imagechange4 = [NSString stringWithFormat:@"onehandedplayer2.png"];
//player2 is an UIButton IBOutlet
[player2 setImage:[UIImage imageNamed:imagechange4]];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(handsback1) userInfo:nil repeats:NO];
}
-(void)handsback1 {
NSString *imagechange3= [NSString stringWithFormat:@"hands rotated.png"];
[player2 setImage:[UIImage imageNamed:imagechange3]];
}
望着這一次 - 從靜態字符串,你爲什麼要創建的字符串傳遞給'imageNamed:'方法?直接傳遞字符串有什麼問題? – Abizern
我認爲它與待加載到內存中的圖像滯後有關。在第一次執行這行時[UIImage imageNamed:someImage]; someImage顯示延遲加載到內存中。下一次啓動someImage時,緩存的圖像將被加載。通過給予預期的表現 – IronMan
@IronMan這不是我問的。我在說他應該寫作:'[player2 setImage:[UIImage imageNamed:@「onehandedplayer2.png」]];'首先。 – Abizern