我有一个 TableViewCell,当它被点击时我想闪烁(即快速突出显示几次)。
到目前为止,我已经使用计时器实现了此功能,如下所示:
-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSTimer *blinkTimer = [[NSTimer scheduledTimerWithTimeInterval:.05 target:self selector:@selector(toggleHighlightedMenuCell) userInfo:nil repeats:YES] retain];
self.blinkTimer = blinkTimer;
[blinkTimer release];
}
-(void) toggleHighlightedMenuCell
{
if (self.highlightedMenuCell.isHighlighted)
{
self.highlightedMenuCell.highlighted = NO;
}
else
{
self.highlightedMenuCell.highlighted = YES;
}
self.blinkTimerCounter++;
if (self.blinkTimerCounter == 2)
{
self.blinkTimerCounter = 0;
[self.blinkTimer invalidate];
//execute some code
}
}
//execute some code
问题在于它似乎在完成闪烁之前开始执行该部分中的代码。谁能想到更好的方法来实现这一点?