animateWithDuration 메서드를 사용하여 노래가 재생 될 때 스크롤되는 노래에 가사가있는 textView에 애니메이션을 적용합니다. 잘 작동하지만 노래의 일시 중지 단추가 포함되어 있으며 일시 중지되면 애니메이션이 계속 스크롤됩니다. 이 작업을 일시 중지 할 수있는 방법이 있습니까? Apple에서 클래스 참조를 살펴본 결과 몇 가지 지연 방법이 있음을 알았지 만 애니메이션 시작 전에 사용하기위한 것입니다. 사용자가 노래를 일시 중지/일시 중지 해제 할 때 애니메이션을 일시 중지/다시 시작하는 방법이 있다면 궁금합니다. 미리 감사드립니다.animateWithDuration을 시작한 후 일시 중지 할 수 있습니까?
2
A
답변
0
당신은 시간과 현재/표시 위치에 텍스트 뷰를 이동 새로운 애니메이션을 시작할 수 있습니다 (일시 정지 버튼을 누를 때)은 0.0f, 그것은 ;-) 당신은 할 수
0
을 이전 애니메이션/취소 건너 뜁니다을 애니메이션을 시작한 후 경과 한 시간을 계산하고 일시 중지 한 순간의 오프셋을 계산합니다. 더 간단한 해결책이 있어야합니다. drawRect의 NSString drawAtPoint가 타이머를 사용하여 drawRect를 반복적으로 호출하여 위치를 업데이트 할 수 있습니다.
관련 문제
- 1. SQL 쿼리를 일시 중지 할 수 있습니까?
- 2. alarmManager로 시작한 서비스를 중지 할 수 없습니다.
- 3. 루프를 일시 중지 할 수 없습니다 .. 어떻게?
- 4. 작업 일시 중지/재개
- 5. GKSession : 앱 일시 중지 후 표시되지 않음
- 6. 새 양식을 닫을 때까지 실행을 일시 중지 할 수 있습니까?
- 7. MSBuild 스크립트를 실행하는 중에 어떻게 일시 중지 할 수 있습니까?
- 8. Flash의 NetStream 게시자가 스트림을 일시 중지 할 수 있습니까?
- 9. 몇 초 동안 vb.net winform을 일시 중지 할 수 있습니까?
- 10. 첫 번째 키 누르기 후 일시 중지
- 11. 일시 중지 JavaScript 함수
- 12. 이미지보기 간 일시 중지
- 13. 일시 중지 된 후 프로세스를 다시 시작할 수 없습니다.
- 14. 다른 터미널 창에서 일시 중지 된 레일 서버 일시 중지
- 15. 프로세스를 일시 중지 하시겠습니까?
- 16. 이벤트 디스패처의 일시 중지
- 17. MPMoviePlayerController + 데이터가 버퍼링을 시작한 후 동영상이 일시 중지됨
- 18. iPhone에서 HTML5 사용 - 일시 중지 할 수 없음
- 19. Windows에서 프로세스 일시 중지
- 20. 스레드 일시 중지 - HistoryRecord의 활동 일시 중지 시간 초과
- 21. 코코아 - 메서드 일시 중지
- 22. Windows의 일시 중지
- 23. 동영상을 AVExportSession에서 일시 중지
- 24. 일시 중지 Bash 루프
- 25. SourceDataLine 재생 일시 중지
- 26. 파이썬 일시 중지 스레드 실행
- 27. 터치시 애니메이션 일시 중지
- 28. 다운로드 스레드 일시 중지
- 29. Java 일시 중지 실행
- 30. 일시 중지 NSOperation
나는 htis에 대해 생각해 보았지만, 움직이는 textView의 CGPoint를 결정하는 방법이 있다면 작동 할 것이 었습니다. 그래서 일시 정지 된 시점에서 애니메이션을 멈출 수 있었고 재생이 다시 시작되면 그 시점부터 시작 할 수있었습니다 . 지금까지 나는 하나를 찾을 수 없었습니다. textView의 최상위 CGPoint를 애니메이션으로 볼 수있는 방법이 있습니까? –
다음 코드를 사용하지 않으려 고 시도했습니다 ... CGPoint scrollPoint = textView.bounds.origin; 도 시도했습니다 ' CGPoint scrollPoint = textView.contentOffset; [그래픽 뷰] [UIView animateWithDuration : 0 애니메이션 :^(void) {[textView setContentOffset : scrollPoint];}] ' [self.view.layer removeAllAnimations]도 시도했습니다. 하지만 UIView에서 애니메이션을 호출 할 때부터 레이어의 제거를 요청하면 아무 것도하지 않을 것이라고 생각합니다. 다른 모든 의견을 크게 높이십시오. –
@CABearsfan 내가 너라면 UIAnimatin 대신 NSTimer를 사용할 것이다. NSTimer 실행 루프의 위치를 업데이트하십시오. scrollPoint = CGPointMake (lastPoint.x, lastPoint.y + 1); lastPoint = scrollPoint; 그래서 원할 때 멈출 수 있습니다 ;-) – PeakJi