UITableView:自动将给定行滚动到屏幕顶部或向下滚动

时间:2018-06-01 07:30:04

标签: ios swift uitableview

假设我有一个20行(á44px)的列表。如果我使用此代码:

tableView.scrollToRow(at: IndexPath(item: 5, section: 0), at: UITableViewScrollPosition.top, animated: false)

正确滚动TableView,以便第五行位于屏幕顶部。

如果我对项目18执行相同操作:

tableView.scrollToRow(at: IndexPath(item: 18, section: 0), at: UITableViewScrollPosition.top, animated: false)

然后tableView也“正确”滚动,以便第十八行粘在屏幕顶部 - 仅显示第18,19和20行,然后显示第20行下方的大量空间。

只要用户以任何方式触摸tableView,内容就会快速快照,以便第20行触及屏幕底部。这个状态,其中20位于底部,是我想要首先发生的事情。当我要求tableView将第18行滚动到屏幕顶部时,我希望它只执行 ,如果这是tableView的自然滚动位置,或者只是滚动到底部的的tableView。

使用animated:true时,想要/期望的状态有效,但在使用animated:false时不起作用 - 我需要保持假(因为我需要在用户时将tableView滚动到此位置)进入这个viewController)。

0 个答案:

没有答案