2013-07-01 4 views
1

내 앱에서 UISlider을 교체하는 데 어려움을 겪고 있습니다. 보이지 않는 MPMoviePlayerControllerUIProgressView으로 재생하고 있습니다.UISlider를 UIProgressView로 대체하는 방법 MPMoviePlayerController를 재생 하시겠습니까?

: 나는 MPMoviePlayerController의 내용에서 최소 및 최대 정의 이전

과 :

UISlider 방금 ​​생성되는

는 매우 직관적 내가 현재의 상태를 업데이트 MPMoviePlayerController에서 업데이트 선택에 꽤 많이 변경

-(void)UpdateTime:(NSTimer*)Timer 
{ 

[self.sldProgress1 setValue:[[NSNumber numberWithDouble:playerSong.currentPlaybackTime] floatValue]]; 

} 

UIProgressView 유사한 접근 방식을 제공하지 않습니다, 나는 내가 뭘하려고 오전 일치 웹에 샘플을 찾을 수 없습니다 :

 sldProgress2.maximumValue = [playerSong playableDuration]; 
     sldProgress1.value = 0.0; 

제안 사항이 있으십니까?

+0

어째서 self.sldProgress1.progress = playerSong.currentPlaybackTime; – Swissdude

답변

1

UIProgressView에는 사용자가 설정할 수있는 최대 값 개념이 없습니다. 단지 100.0입니다. 원하는대로 작동하게하려면 수학을해야합니다. 당신에게 완전한의 노래의 비율을주고, 당신이 바로 그 번호로 UIProgressView 업데이트됩니다

CGFloat percentComplete = [playerSong.currentPlaybackTime floatValue]/[playerSong.playableDuration floatValue]; 

: 다행히, 그것은 쉬운 수학입니다.

progressView.progress = percentComplete; 

더 많거나 적은 -이 코드는 대부분 귀하의 질문에 근거한 유사하지만 그 아이디어입니다.

+1

간단하고 아름다운 – RollRoll

0

이 줄을 사용하여 thumbImage을 UISlider를 계속 사용하고 숨길 수 있습니다 :

[mySlider setThumbImage:[[UIImage alloc] init] forState:UIControlStateNormal]; 

이 나를 위해 일했다.

관련 문제