我有UITableView
超过 50 行,但一次只显示 5 行。如何强制始终选择中间行?例如显示 2、3、4、5、6,将选择 4。用户滚动 -> 14,15,16,17,18 ,将选择 16 等'。
谢谢
我有UITableView
超过 50 行,但一次只显示 5 行。如何强制始终选择中间行?例如显示 2、3、4、5、6,将选择 4。用户滚动 -> 14,15,16,17,18 ,将选择 16 等'。
谢谢
这种方法对我来说效果很好。我有一个表格视图,一次显示 5 行,但是当我记录 visibleRows 时,我总是得到 7 的计数,所以我得到了这 7 行的索引路径,并选择了中间的路径(索引 3):
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSArray *vis = self.tableView.indexPathsForVisibleRows;
if (vis.count %2 == 1) {
[self.tableView selectRowAtIndexPath:vis[3] animated:NO scrollPosition:UITableViewScrollPositionNone];
}
}
使用作为协议tableView:willDisplayCell:forRowAtIndexPath:
一部分的方法。UITableViewDelegate
在这里您可以检查 indexPath.row 的值,如果它在您指定的范围内,请使用 cell.selected。
尽管我建议您维护是否应在数据源中选择单元格,而不是挂钩到单元格的位置,但这样您可以检查数据源是否应选择单元格,而不是强迫自己使用特定的索引单元格对于特定的事物。
希望这可以帮助。