2012-12-12 3 views
1

나는 UIScrollView을 가지고 있으며, 이것을 pagingEnabled 모드에서 사용하고 있습니다. 이 UIScrollView에서는 많은 이미지를로드해야합니다. 따라서 모든 이미지를로드하는 것은 불가능합니다. 5로 5를 올리기로 결정했습니다. 처음에는 5 개의 이미지를로드하고 위치, 크기 및 태그을 설정합니다. 지금까지이 일을 할 수 있어요.UIScrollView가 두 페이지를 스크롤하는 것을 방지하려면 어떻게해야합니까?

사용자가 네 번째 페이지에 도착하면 6 번째 페이지를 설정하고 첫 번째 페이지를 수퍼 뷰에서 삭제해야합니다. 이를 위해이 방법을 사용하고 있습니다.

[[self.scrollView viewWithTag:currentPage-3] removeFromSuperView]; 

제대로 페이지 변경 이벤트를 감지하기 위해, 나는 거의 모든 UIScrollView의 위임 방법을 사용했지만, 할 때 사용자가 스크롤 지속적으로, 나는 페이지를 놓쳤다. 그래서 이미지를 제대로로드 할 수 없습니다. 내가 6 페이지를로드 놓친 예를 들어, 내가이 NO로 설정되어 있더라도, 나는 userInteraction mode을 해제하려고 8 페이지

를로드 할 수 없습니다, 사용자가 스크롤을 계속할 수 있습니다.

사용자가 페이지를 변경하면 UIScrollView에 이미지를로드 할 때까지 UIScrollView을 스크롤하지 않도록 설정하려고합니다.

너희들은 어떤 생각을 가지고 있니? 어떻게 그걸 성취 할 수 있니?

감사합니다.

+1

그런 제한적인 UI가 필요한 경우 UISwipeGestureRecognizer를 사용하여 페이지를 변경하는 것이 가장 좋은 이유는 무엇입니까? –

+0

내 경우에는 UIScrollView를 사용하는 것이 더 적합하다고 보입니다. 왜냐하면 난 clipToTounds 속성을 사용해야하기 때문에. 또한 UISwipeGEstureRecognizer에서 충분한 경험이 없다. – limon

+0

UISwipeGestureRecognizer는 PageControl보다 훨씬 사용하기 쉽다. 애니메이션을 제대로 처리하면된다. –

답변

1

내가 원하는 것은 사용자가 페이지를 변경했을 때 이미지를 UIScrollView로로드 할 때까지 UIScrollView을 스크롤 할 수 없도록 설정하려고합니다.

당신이 UIScrollViewDelegate 방법에 보면, 각 페이지 스크롤 후 스크롤을 사용하지 않으려면

, scrollViewDidScroll:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intf/UIScrollViewDelegate

scrollViewDidScroll:처럼 당신은 UIScrollViewNO에에 scrollEnabled을 설정할 수 있습니다. 일단 이미지로드가 끝나면 동일한 속성을 통해 스크롤링을 다시 활성화하십시오.

관련 문제