首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UIScrollView中的UIScrollView UIScrollView中的

UIScrollView中的UIScrollView UIScrollView中的
EN

Stack Overflow用户
提问于 2012-09-26 06:36:16
回答 1查看 398关注 0票数 1

我在垂直UIScrollView中的水平UIScrollView中有一个多方向UIScrollView。当我达到最里面的scrollView的水平内容限制时,包含的水平滚动视图开始滚动。

但是当我达到最里面的scrollView的垂直内容限制时,我不会在顶层垂直scrollView上得到任何操作。

如果所有垂直内容在最内层都可见(所以不能进行垂直滚动),那么顶层垂直滚动视图就可以了。有什么关于如何解决这个问题的线索吗?

如果我将他们的照片分页scrollView嵌入到一个垂直的scrollView中,我会在苹果的"PhotoScroller“示例代码中得到同样的行为。如果照片未缩放,则水平和垂直滚动视图都将起作用。如果照片已缩放,但由于达到水平或垂直限制而停止平移,则只有水平滚动视图有效。

这使用的是旧版本的示例代码,该代码将照片分页实现为UIScrollView而不是UIPageViewController。使用当前的UIPageViewController版本,在缩放照片时不能分页。

EN

回答 1

Stack Overflow用户

发布于 2012-10-01 00:09:30

为了回答我自己的问题,我使用gestureRecognizerShouldBegin: scrollView来确定当平移手势开始时,最里面的委托是否在边界上。如果是,我响应shouldRecognizeSimultaneouslyWithGestureRecognizer:委托在内部scrollView和垂直scrollView上启用UIPanGestureRecognizer。这允许一个单一的手势同时滚动这两个。然后,我在两个scrollViews上都重写了setContentOffset,以抑制错误的滚动。

我认为更好的答案可能是将内部UIScrollView上的UIPanGestureRecognizer替换为自定义手势识别器,该识别器在边界处启动并拖过边界时会自动取消。但是,我不能让它工作。

我仍然不明白为什么这个水平版本会自动工作。也许在UIScrollViewPanGestureRecognizer中有一些特殊的情况处理来处理水平情况,或者与immediate superView交互。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12592114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档