iOS嵌套UIScrollViews无响应

时间:2013-07-22 18:29:33

标签: ios uiscrollview nested

我一直在寻找如何嵌套UIScrollViews。 看起来它应该像使用addSubview:容器滚动视图添加内部滚动视图一样简单。我看到所有内容在视觉上都是正确的,但内部滚动视图的功能是不存在的,尽管它们提供了适当的框架和内容大小。 我的代码显示了到目前为止我所拥有的内容。只有外部滚动视图滚动。我想要它,以便外部滚动视图控制从左到右滚动,每个内部滚动视图控制其相关页面内容的垂直滚动。

self.containerScroll = [[UIScrollView alloc]init];
self.containerScroll.frame = CGRectMake(0,(self.headerView.frame.size.height + self.pageControl.frame.size.height),screenWidth, (screenHeight - (self.headerView.frame.size.height + self.pageControl.frame.size.height)));
self.containerScroll.backgroundColor = [UIColor clearColor];
self.containerScroll.alpha = 1;
self.containerScroll.pagingEnabled = YES;
self.containerScroll.contentSize = CGSizeMake(self.containerScroll.bounds.size.width*3,1);
self.containerScroll.bounces = NO;
self.containerScroll.delegate = self;
[self.view addSubview:self.containerScroll];

self.page1Scroll = [[UIScrollView alloc]init];
self.page1Scroll.frame = CGRectMake(0,0,self.containerScroll.bounds.size.width,self.containerScroll.bounds.size.height);
self.page1Scroll.backgroundColor = [UIColor redColor];
self.page1Scroll.alpha = 1;
[self.page1Scroll addSubview:self.feedPageVC.view];
self.page1Scroll.contentSize = CGSizeMake(320,500);
self.page1Scroll.delegate = self;
[self.containerScroll addSubview:self.page1Scroll];

self.page2Scroll = [[UIScrollView alloc]init];
self.page2Scroll.frame = CGRectMake(self.containerScroll.bounds.size.width,0,self.containerScroll.bounds.size.width,self.containerScroll.bounds.size.height);
self.page2Scroll.backgroundColor = [UIColor greenColor];
self.page2Scroll.delegate = self;
[self.containerScroll addSubview:self.page2Scroll];

self.page3Scroll = [[UIScrollView alloc]init];
self.page3Scroll.frame = CGRectMake(self.containerScroll.bounds.size.width*2,0,self.containerScroll.bounds.size.width,self.containerScroll.bounds.size.height);
self.page3Scroll.backgroundColor = [UIColor blueColor];
[self.page3Scroll addSubview:self.detailsPageVC.view];
self.page3Scroll.contentSize = CGSizeMake(320,500);
self.page3Scroll.delegate = self;
[self.containerScroll addSubview:self.page3Scroll];

1 个答案:

答案 0 :(得分:0)

self.containerScroll.contentSize = CGSizeMake(self.containerScroll.bounds.size.width*3,1); 

看起来你的内容的高度设置为1.如果一个孩子大于它的父,它将无法正常工作(按钮的工作方式相同)。

此外,请确保您知道您在委托方法中处理的滚动视图。所有的滚动视图都将以相同的方法处理,它可能会导致您的问题。