2013-04-22 5 views
1

나는 페이지 컨트롤의 현재 페이지를 설정하고 스크롤 뷰의 currentOffset을 발생시킬 때 반복적으로 NSTimer을 사용하여 프로그래밍 방식으로 이미지를 훑어보고 있습니다.UIPageControl/UIScrollView 루프를 어떻게 만들 수 있습니까?

마지막 이미지로 이동하면 페이지 컨트롤의 현재 페이지를 0으로 다시 설정하고 스크롤 뷰의 currentOffset0으로 다시 설정합니다. 그러나 이것은 앞으로의 인상을주기보다는 시작으로 되돌아가는 것을 매우 빨리 되 돌리는 효과가 있습니다. iCarousel과 같은 것을 사용하는 것 이외의 다른 방법을 사용하는 빠르고 쉬운 방법이 있습니까?

답변

0

필요에 따라 이상적이지만 UIScrollView 끝에 첫 번째 이미지를 추가 할 수 있는지 확실하지 않습니다.

마지막 이미지를 클릭하면 스크롤 뷰의 내용 오프셋을 애니메이션없이 0으로 다시 설정하고 페이지 컨트롤을 업데이트 할 수 있습니다.

+0

나는이 선들을 따라 무언가가 작동 할 수도 있다고 생각하지만, 문제는 애니메이션이 없기 때문에 (이전 이미지가 움직이는 것처럼) 사용자 경험에 불연속이 있다는 것입니다. 그래서 마지막으로 복사 된 이미지의 오프셋을 애니메이션으로 설정 한 다음 애니메이션을 사용하지 않고 컨텐츠 오프셋을 0으로 설정하려고했습니다. 그러나 그것이 작동하지 않는다, 나는 더 많은 실험을 할 것이다. – Gruntcakes

+0

그 이유는 첫 번째 이미지를 스크롤보기 끝에 추가하는 것이므로 콘텐츠 오프셋을 다시 0으로 설정하면 다음 이미지가 다시 애니메이션으로 표시됩니다. – Tim

+0

그게 내가 시도한 것입니다. 작동하지 않습니다. 계속 증가하는 프레임, 즉 프레임의 y 값이 단지 증가하고 결코 0으로 되돌아 가지 않으면 서 새 서브 뷰를 계속 추가하면 (예전의 것들을 제거하면서) 일을 할 수있을 것입니다. y에 대한 적분 값의 범위에 도달하면 애니메이션없이 롤백해야합니다. – Gruntcakes

1

"무한"스크롤의 경우 세 가지 항목 만 표시하면됩니다.

이전 항목. 현재 항목입니다. 다음 항목.

당신은 5 개 항목 배열을 가지고 당신이

5, 1, 2 (중간은 항상 현재 항목입니다) ... 무한 당신에게 첫 공연 스크롤합니다.

사용자가 다음 당신과 같이 중간에 숫자 2를 넣어 스크롤을 완료하는 즉시 다음 2 번을 보려면 스 와이프하면

...

1, 2, 3 다음 뷰의 오프셋을 변경할 수 있도록 그것은 중간에 돌아왔다.

즉, 항상 밖으로 나가서 다시 중간으로 이동합니다.

관련 문제