2009-10-25 5 views
2

iPhone의 뮤직 플레이어를 제어하는 ​​여러 개의 UIButton이 있습니다.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에서는 반대입니다.

플레이어의 재생 상태를 확인하지 않아도되는 해결책을 알고있는 사람이 있습니까?

관련 문제