2010-06-10 3 views
0

저는 Objective-C와 Cocoa를 처음 사용했지만 ImageKit을 사용하여 IKSlideShow 클래스를 사용하여 슬라이드 쇼를 제공하는 간단한 앱을 만들었습니다. 그러나 나는 단순한 것이라고 생각되는 것에 조금 붙어있다. 슬라이드 쇼를 재생할 때 사진이 화면에 표시되는 시간을 늘리고 싶지만 효과적으로 처리하는 방법을 알 수 없습니다.Obj C - IKSlideShow로 슬라이드 간 간격을 사용자 정의하는 방법

while (functionShouldPause) 
    { 
     [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:20]]; 
     functionShouldPause=NO; 
    } 

그들은을 방지 그러나 : 나는 같은 여기에 다양한 지연 퍼팅 시도했다 그러나 -

IKSlideshowDatasource 프로토콜 보인다 "slideshowDidChangeCurrentIndex는"이 작업을 수행 할 수있는 가장 좋은 장소로 할 때 당신이 물건을 할 수 있습니다 사용자가 수동으로 슬라이드를 이동하거나 슬라이드 쇼를 종료합니다.

모든 제안 사항에 대해 매우 감사드립니다. 감사!

답변

0

다른 사람이 알고 싶어하는 경우,이 작업을 수행 할 수 있습니다 (개인 API를 사용한 이후로 내 방법을 권할 수는 없지만).

classdump를 사용하여 IKSlideShow의 헤더 파일을 추출하는 경우 IKSSPanel.h가 화면 재생, 일시 중지 등 버튼을 제어하고 IKSlideShowHandler.h가 슬라이드 쇼를 제어한다는 것을 알게됩니다. 프로젝트에 두 헤더를 모두 포함하십시오.

재생 단추를 클릭 할 때 호출되는 IKSSPanel 메서드를 재정의하면 슬라이드가 표시되는 시간을 제어하는 ​​autoPlayDelay 값을 변경 한 다음 슬라이드 쇼 처리기의 StartAutoPlay를 사용하여 슬라이드 쇼를 시작할 수 있습니다 방법.

아마도 훨씬 더 깨끗한 해결책이 있지만 이것은 나에게 잘 작동하는 것 같습니다.

관련 문제