iOS使用AutoLayout嵌套UIScrollViews

时间:2013-07-19 18:28:14

标签: ios uiscrollview nested autolayout

image http://i44.tinypic.com/14boqw7.png

上面是我的程序应该如何布局的示例。 屏幕顶部应有一个简单的标题视图,其下方的剩余空间用于显示其他内容。 这个其他内容基本上是3页的东西。 父滚动视图应一次显示一个页面,但可以使用分页向左或向右滚动以转到其他页面。 问题是这些页面中的每一页都会有不同的高度。此外,通过在父视图中使用分页,垂直滚动也会被分页,所以我认为我必须为每个单独的页面分配一个scrollview,每个页面都禁用了分页。 这个过程对于autolayout来说相当烦人,因为我必须为每个视图手动计算并覆盖intrinsicContentSize,并在viewcontrollers中创建一个自定义方法,以根据子节点的内在内容大小和它们使用的约束返回高度。然后我需要使用此高度来约束视图的宽度和高度,以便容器滚动视图能够使用autolayout计算其内容。 我可以使用一堆容器uiviews和uiscrollviews来显示东西,但是唯一接收事件的scrollview是父滚动视图。为什么子滚动视图没有响应?

1 个答案:

答案 0 :(得分:2)

我在嵌套UIScrollViews时遇到了类似的问题。我在WWDC 2010(下面的链接)中发现了这个视频,它真正帮助我理解了如何在分页UIScrollView中使用子UIScrollViews,我设法通过遵循此视频中的步骤并查看示例代码来修复我的错误

注意:自录制视频以支持ARC,故事板和UIPageViewController以来,PhotoScroller代码已更新。我建议先看一下示例代码,如果你不确定它是如何工作的,那么请观看视频。

希望这有帮助!