我有几个UIButtons可以控制iPhone的音乐播放器。
如果触摸并按住上一个按钮,我希望音乐播放器向后搜索,但如果单击该按钮,则跳到上一个项目。
目前,我可以通过点击跳到上一个项目,但触摸并按住将向后搜索并在按下按钮后跳到上一个项目。
以下是我目前使用的代码:
- (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 :(得分:0)
我没有对此进行测试,我不知道这是否是最佳解决方案。
听起来怎么样?
答案 1 :(得分:0)
许
在使用OS 3.1.2的设备上运行我的应用程序(使用原始帖子中的相同代码)后,问题似乎已得到解决。在3.0设备上寻找AND跳过的相同代码仅在3.1.2设备上寻找。
所以看起来在3.0上,玩家在UIControlEventTouchedUp上的播放状态等于播放,而不是跳过。在3.1.2上,情况正好相反。
有没有人知道一个不涉及检查播放器播放状态的解决方案?