【发布时间】:2016-11-08 09:39:09
【问题描述】:
在我的应用程序中,我在 ScrollView 上添加了 UITableView。我在表格视图中禁用滚动。 所以,只有scrollView Scrolls,我用tableView Frame 调整了scroll view content Size。所以,我可以访问所有单元格。
考虑一下,屏幕中有 5 行可见,如果我点击任何一行,就会调用 didSelectRowAtIndexPath 方法。如果我向下滚动,请说第 6 个单元格并点击它。该方法不会被调用。
UIcollectionView 也会出现同样的问题。
我添加的原因是。当我滚动滚动视图时,其中的视图应该固定在顶部,并且它后面的 tableView 应该继续滚动。您可能已经在 Android 中的许多应用程序中看到过。因此,我使用了 ScrollView didScroll 委托来获取偏移位置。根据它,我将固定视图,反之亦然。
【问题讨论】:
-
tableview 的高度是多少?
-
为什么滚动视图中有一个 uitableview ?
-
对于我的设计,我需要这样做。我已经自定义了一些功能,比如在 android 中。
-
stackoverflow.com/questions/17121488/… 。你可以参考这个帖子。
-
再想一想:你知道吗,UITableView 是 UIScrollView 的子类?所以如果你创建了一个UITableView并设置了delegate,它也会调用scrollViewDidScroll方法,以tableView为参数,它会有contentSize和contentOffset。所以也许你可以摆脱 scrollView 本身,让事情变得更简单。
标签: ios objective-c uitableview uiscrollview didselectrowatindexpath