我创建了一个程序,发现一个错误,我似乎无法解决。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