2009-10-25 58 views
2

我有几个控制iPhone的音乐播放器的UIButtons。UIButton - 触摸并按住,点击

我想有音乐播放器向后寻找,如果前面的按钮被触摸和举行,但跳到前一个项目,如果该按钮是单抽头。

目前,我能跳到上一个项目有一个水龙头,但按住将向后寻找,一旦该按钮被点击了跳过前一个项目。

这里是代码我目前正在使用:

- (void)previousButtonTouchedDown { 
[self performSelector:@selector(seekBackwards) withObject:nil afterDelay:1]; 
} 

- (void)previousButtonTouchedUpInside { 
MPMusicPlaybackState playbackState = self.iPodPlayer.playbackState; 

if (playbackState == MPMusicPlaybackStateSeekingBackward) { 
    [self.iPodPlayer endSeeking]; 
} else { 
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(seekBackwards) object:nil]; 
    [self.iPodPlayer skipToPreviousItem]; 
} 
} 

- (void)seekBackwards { 
[self.iPodPlayer beginSeekingBackward]; 
} 

我怎么能向前搜寻,但不跳到上一个项目,如果该按钮被点击,持有,然后摸了?

谢谢。

回答

0

我没有测试过这一点,我不知道这是否是最好的解决办法。

  • 你可以附加一个动作到按钮的UIControlEventTouchedDown,然后触发一个定时器约1秒。
  • 当定时器触发时,它可以调用一个开始寻找的方法。
  • 然后将另一个方法附加到按钮的UIControlEventTouchedUp。
    • 检查,如果玩家正在寻求
      • 如果它正在寻求,寻求停止
      • 别的,快进。

你觉得如何?

0

呵呵。

与OS 3.1.2的设备(使用原来的职位相同的代码)上运行我的应用程序后,会出现这个问题是固定的。寻找和跳过3.0设备上的相同代码只能在3.1.2设备上寻找。

如此看来,在3.0,在UIControlEventTouchedUp播放器的播放状态等于打,不跳绳。在3.1.2上,情况正好相反。

有谁知道,不涉及检查播放器的播放状态的解决方案?