2014-02-07 2 views
0

UIView 서브 뷰가있는 UIScrollView이 있는데, 서브 뷰는 UITableView입니다. 내가 원하는 것은 사용자가 UITableView을 스크롤 할 때 컨테이너 스크롤 뷰를 스크롤하는 것입니다. 자식 UIScrollView의 터치 이벤트를 컨테이너 UIScrollView으로 전달할 수 있습니까? 도와 주셔서 감사합니다. 다음은 스크롤 뷰 코드입니다. 상위 스크롤보기는 코드로 작성되고 하위보기는 IB에서 작성됩니다.하나의보기에서 다른보기로 터치 이벤트를 전달하는 방법

CGFloat offset = ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) ? 64.0 : 44.0; 
self.parentScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, offset, 320.0, self.view.frame.size.height - offset)]; 
self.parentScrollView.delegate = self; 
self.parentScrollView.bounces = NO; 
self.parentScrollView.contentInset = UIEdgeInsetsMake(self.header.frame.size.height - offset, 0, 0, 0); 
self.parentScrollView.delaysContentTouches = NO; 
[self.view addSubview:self.parentScrollView]; 

[self.contentView.tableView registerNib:[UINib nibWithNibName:@"PodcastCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"PodcastCell"]; 
[self.contentView.tableView registerNib:[UINib nibWithNibName:@"DescriptionCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"DescriptionCell"]; 
self.contentView.delegate = self; 
self.contentView.tableView.delegate = self; 
self.contentView.tableView.dataSource = self; 
[self.parentScrollView addSubview:self.contentView]; 
self.parentScrollView.contentSize = CGSizeMake(320.0, self.contentView.frame.size.height); 

미안하지만 잘 설명하지 못했습니다. 자식 UITableView이 부모의 상단에 도달 할 때까지 스크롤하려면 부모 UIScrollView이 필요합니다. 그 시점에서 부모 UIScrollView은 스크롤을 중지해야하고 자식 UItableView은 스크롤을 시작해야합니다. 말이 돼?

답변

0

UITableViewscrollViewDidScroll:을 구현하려면 contentOffset을 계산 한 다음 컨테이너보기에서 setContentOffset:animated:으로 전화하십시오.