2009-10-25 60 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上,情況正好相反。

有誰知道,不涉及檢查播放器的播放狀態的解決方案?