当存在多个滚动视图时,iOS scrolllsToTop解决方案,但只有一个设置为scrollsToTop

时间:2013-08-19 04:33:44

标签: ios uitableview uiscrollview uicollectionview

我已经查看了许多其他类似问题,但没有与iOS6相关的明确答案。

我有一个带有两个UIScrollView子类的屏幕的应用程序 - 一个UICollectionView和一个UITableView。 UITableView位于UICollectionView的下方/下方,(集合视图)提供一组按钮,UITableView提供可滚动的数据列表。已经请求如果触摸状态栏,则表格视图滚动到顶部,例如在具有覆盖整个屏幕的一个主滚动视图衍生的应用程序中。

在我们的例子中,两个scrollview衍生品都没有覆盖整个屏幕,UICollectionView总是滚动到顶部。

在UICollectionView上滚动ToTop = NO。在UITableView上,scrollsToTop设置为YES。视图是视图层次结构中的兄弟。

我已经看到在其他问题中提到了一种在状态栏上放置透明视图和拦截触摸事件的解决方案,但是有一些副作用。

另一个解决方案是观察系统通知“_UIApplicationSystemGestureStateChangedNotification”。这种看起来像私人Apple通知,我担心App Store可访问性。

(另一个问题是我的类的子类还在tableView的顶部覆盖了一个子视图控制器的视图,并且它有自己的UITableView来显示。在这种情况下,原始的根类tableView被设置为scrollsToTop = NO和子viewController的scrollsToTop = YES - 当然没有它工作。)

是否有通用和Apple接受的方式来执行此操作?我希望有一个记录在案的通知或类似的东西,但一直无法找到。我真的希望能够让我的tableView的这个简单功能响应人们在触摸状态栏时的期望。

0 个答案:

没有答案