2012-07-09 3 views
4

가독성 응용 프로그램에 표시된대로 슬라이딩 UIViewController를 에뮬레이트하려고합니다. 페이지를 오른쪽으로 드래그하면 스택에서 현재 뷰가 팝 업되어 상위 UIViewController로 이미지와 같이 슬라이딩 애니메이션으로 돌아갑니다. 가장 오른쪽에있는 뷰가 맨 위에 표시되고 오른쪽 뷰에 원래 테이블을 왼쪽에.가독성 응용 프로그램에서와 마찬가지로 UIViewController를 튀기다 -

view being slided to the right

나는 같은 ECSlidingViewController로 slidingUIViewController 솔루션의 몇 가지를 시도했지만 그들은 가독성하지 않습니다 무엇을 부분적으로 다른 상단에 slidingUIViewController 슬라이딩의 페이스 북/경로의 행동을 모방하려고합니다.

저는 UIScrollView를 가로 방향으로 스크롤하는 표준을 시도했지만 한 페이지를 다른 페이지 위로 밀어내는 것과 달리 페이지가 양쪽에서 결합되는 것처럼 스크롤합니다.

누구나 어떻게 알았습니까?

+0

UIPageViewController가 설계된 것이 아닙니다. 그것은 상자 밖으로 이것을 할 것입니다. – Fogmeister

답변

0

이것은 몇 가지 단계로 쉽게 수행 할 수 있습니다. 나는 당신이 그것을하기 위해서 써야하는 모든 코드를 적지는 않을 것이지만, 당신이 취해야 할 단계들만을 설명 할 것입니다. 마스터보기가 세부보기를 표시하려는보기이고 세부보기가 탐색 스택의 맨 위에있는보기 인 마스터 세부 정보 용어를 사용합니다.

1) detailView과의 상호 작용을 처리하는의 UIViewController의 인스턴스를 생성 :

당신이 상세보기를 제시 할

. iOS 5 이상에서는이 인스턴스를 마스터의 viewController에있는 childrenViewControllers @property에 저장할 수 있습니다. 하위 OS를 지원하는 경우 인스턴스를 ivar에 저장해야합니다.

2) detailView의 프레임을 화면의 경계 바깥에 설정합니다. detail에 추가하면 그래픽 목적으로 그림자를 봅니다. 마지막으로 detailView를 masterView의 하위 뷰로 추가합니다.

3) (선택 사항) 사용자가보기를 다시 스 와이프하고 닫을 수 있도록 팬 제스처 인식기를 detailView에 추가합니다 (선택 사항).

4) 화면의 경계에서 detailView를 애니메이션으로 지정합니다. 아래의보기와 상호 작용이 비활성화되어 있는지 확인

당신이 상세 뷰 해제하려는 경우합니다 (위해 DetailsView와도 상호 작용을 사용하지 않도록주의!) :)

1 화면의 경계 밖에서 detailView 애니메이션 .

2) superview에서 제거하고 viewController에 대한 참조를 삭제하십시오.

3) 사용자가 마스터보기와 상호 작용하도록 다시 설정합니다.

관련 문제