嵌套的UIScrollviews表现得很奇怪

Nic*_*ing 5 uitableview uiscrollview ios autolayout swift

我有以下自动布局驱动设置:

  • 主viewController,里面有一个scrollview.Scrollview固定到superview边缘.这个向上和向下滚动.在scrollview顶部有一些正常的固定大小的视图

  • 另一个scrollview.这个向左和向右滚动.第二个scrollview包含几个tableviews,并排.这个想法是用户可以在它们之间切换.它们都包含一些细胞,宽度与屏幕相同,高72pts.

我试图解决的问题是tableview内容的大小不同.左边有6个单元格,右边有3个单元格.

我的第一种方法是动态更改第二个scrollview高度,以匹配当前可见的tableview.最终发生的事情是,如果动画设置为true,那么在两个tableviews之间切换(通过执行setContentOffset:animated :)会出现极大错误 - 它会调整内容偏移,因此一切都在屏幕外.实际上它会将内容偏移设置为,然后当我切换时,大约十几次,然后重置.这很奇怪,我放弃了.

现在我试图调整主滚动视图的内容插入以抵消当前tableview内容的差距,这也很奇怪.当我在viewDidLoad中设置底部内容插入时,它工作正常.当我在tableview变为当前时设置它时,它什么都不做.

是什么赋予了?哪些情况会导致这些视图交互不正常?

Moj*_*ini 2

  • tableViewController每个表使用不同的。
  • 将它们嵌入到pageViewController.
  • 在 s 视图的顶部添加一些正常的、固定大小的视图pageViewController
  • 符合.scrollViewDelegatepageViewController
  • scrollViewDidScroll从 tableViews传递到pageViewController.
  • 设置 tableViews 插图以匹配顶部的固定大小视图。
  • 根据滚动改变高度。

这是您实现所需功能的方式。我希望它有帮助。