检测UITableView中当前可见的最后一个UITableViewCell
Posted
技术标签:
【中文标题】检测UITableView中当前可见的最后一个UITableViewCell【英文标题】:Detect the last UITableViewCell of the current visible in UITableView 【发布时间】:2014-02-01 05:15:34 【问题描述】:我想知道是否有办法检测当前 UITableViewCell 是否是视图中的最后一个,然后当用户按下回车键时,您将使用此代码滚动 UITableView
int cellHeight = 44;
[finishingTableView setContentOffset:CGPointMake(finishingTableView.contentOffset.x,finishingTableView.contentOffset.y + cellHeight) animated:YES];
我有一个带有自定义 UITableViewCells 的 UITableView,每个 UItableViewCell 都有一个 UITextfield,我以编程方式选择 UITableViewCell,然后使单元格文本字段成为第一响应者。我想让用户一直按回车键到 UITableView 的底部,但只有在下一个要选择的 UITableViewCell 不在视野范围内时才开始滚动。
【问题讨论】:
【参考方案1】:使用UITableView
的indexPathsForVisibleRows
方法。
NSArray *visibleRows = [self.tableView indexPathsForVisibleRows];
NSIndexPath *lastRow = [visibleRows lastObject];
然后将其与您正在处理的单元格的 indexPath 进行比较。
【讨论】:
在visibleRows
,我们可以得到TableView的所有indexPath吗??
@iPatel visibleRows
仅包含当前可见(全部或部分)的行的索引路径。
哦,是的,我只是问你,因为我有点困惑。谢谢你让我明白:) 是否有可能获得表的所有 indexPath ?
好的,这行得通我有一个 if 语句告诉我何时到达最后一个单元格,但是我的 setContentOffset 不起作用...
如果这是您的目标,请使用 scrollToRowAtIndexPath:atScrollPosition:animated:
将特定行放在底部(或顶部或中间)。以上是关于检测UITableView中当前可见的最后一个UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章
Swift - 当最后一行不可见时,如何对 UITableView 的最后一行执行特定操作?
iOS / Swift 3.0:如何确定 UITableView 中当前可见的行?
如何检测最后一个单元格是不是在 UICollectionView 中可见?