我创建了一个程序,发现了一个我似乎无法解决的错误。
我已经解决了这个问题,无法在一个全新的项目中重新创建,但它仍然会重现。
问题是当我按下BUTTON时图像发生变化但速度比NSTIMER中设置的速度快得多,但只是第一次按下按钮。
如果我继续按下按钮,图像会以我需要的速度变化。
它只会在第一次发生时发生,我正在使用触摸事件(尽管我已经尝试过触摸内容)
这仅在第一次发生,并且非常重要,第一次与其余时间相同。
我知道有关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]];
}
答案 0 :(得分:0)
尝试使用performSelector -
[self performSelector:@selector(handsback1) withObject:nil afterDelay:0.5];
这很简单&可靠。
答案 1 :(得分:0)
只是闲着几分钟(!)&再次遇到这种情况 - 我突然意识到,当按下图像更改时,您可能会误按按钮突出显示 - 您是否取消选中了按钮"突出显示调整图像" IB的属性检查员中的财产?
不太可能,但你永远不知道......