2012-05-23 3 views
3

하나의 큰 scrollview에서 가로 스크롤을 사용하고 싶습니다. 이 scrollView 내에서 (말하자면) 세로 스크롤 할 수있는 5 개의 다른 scrollviews 싶습니다.하나의 scrollView에 여러 개의 scrollViews를 사용하는 방법

누구나 touchevents를 처리하는 방법에 대한 올바른 방향으로 나를 가리킬 수 있습니까?

제스처 인식기를 2 개 (탭은 1 개, 팬은 1 개) 만들고 X 및 Y 값의 델타를 사용하여 가로 또는 세로 스 와이프를 계산할 생각입니다. 방향을 확인한 후 큰 스크롤러 또는 스크롤러 중 하나를 사용 또는 사용 중지로 설정했습니다. 이게 맞습니까?


편집 : 대신 내가 큰 하나의 서브 뷰로 5 scrollviews을 추가하여 하나 개의 큰있는 ScrollView (수평) 내 5 scrollviews (수직 스크롤)을 추가 할 단지 수 있었다 위에 내 방법을 사용하여의. 어쩌면이 코드는 누군가를 도울 수 있으므로 예제 코드도 제공 할 수 있습니다.

for (int i = 0; i < NumberOfVerticalScrollers; i++) { 
     CGRect frame; 
     frame.origin.x = self.scrollView.frame.size.width * i; 
     frame.origin.y = 0; 
     frame.size = self.scrollView.frame.size; 

     UIScrollView *scroller = [[UIScrollView alloc] initWithFrame:frame]; 
     scroller.directionalLockEnabled = YES; 
     scroller.contentSize = CGSizeMake(320, 960); 
     [self.scrollView addSubview:scroller]; 
} 
self.scrollView.delegate = self; 
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * NumberOfVerticalScrollers, self.scrollView.frame.size.height); 

답변

1

을 그 예를 찾아 (어쩌면 90도 기본 구현을 회전) 당신의 목적에 적합한 지 평가해야하고, 단지 필요 addSubView 메소드를 사용하여 메인 스크롤 뷰에 다른 스크롤 뷰를 추가하십시오. iOS는 스크롤을 올바르게 처리하기 위해 필요한 모든 이벤트를 처리합니다. 각 스크롤 뷰의 올바른 content sizeframe 만 지정해야합니다.

+0

감사합니다. 일부 샘플 코드로 내 대답을 편집합니다. – BarryK88

0

나는 당신이 아무것도 할 필요가 없을 것이라고 생각하지 않습니다. 당신이 확대하고 그냥 작동하는 것을 볼 수 수신 거부하지 않도록 설정하면 그 질문에 링크 된 예에서

see this question

.

1

이렇게하려면 다른 수직 스크롤보기를 하위보기로 추가 할 때 수평 스크롤보기를 1 개만 만들어야합니다. 가장 중요한 것은 기본 스크롤 뷰가 가로로 스크롤 될 때 세로 스크롤 뷰에서 스크롤을 사용 중지해야한다는 것입니다.

당신이들을 수 있습니다 :

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 

그가 발생했을 때 당신이 당신의 수직 scrollviews에

그리고에

당신이 다시 스크롤 할 수 있도록 다음과 같은 스크롤 해제 만 할 수

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 
0

거기를 각 테이블 뷰 셀을 가로로 스크롤 할 수 있고 다른 테이블 뷰를 포함하는 수직 테이블 뷰를 사용하는 "펄스"라는 앱. 이는 캐싱 및 UI 이벤트를 처리합니다. 당신은 당신은 수평으로 스크롤 할 수있는 주요있는 ScrollView를 만들 필요가

How to recreate a Pulse-like UI?

관련 문제