我想要在特定tableView
的屏幕上显示indexPath.row
。
例如,假设每个tableViewCell
占据屏幕的一半,我希望屏幕显示在indexPath.row
的6,,而不是始终从indexPath.row
开始0
有没有办法做到这一点?
为了更清楚,我希望滚动表格视图,使得0-5行在屏幕外滚动,第6行是表格视图中的第一行。
答案 0 :(得分:3)
您可以使用scrollToRowAtIndexPath:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:N inSection:M];
[yourTableView scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop
animated:YES];
您可以尝试这些位置,直到您对结果感到满意为止
UITableViewScrollPositionNone
UITableViewScrollPositionTop
UITableViewScrollPositionMiddle
UITableViewScrollPositionBottom
答案 1 :(得分:1)
在Swift中你可以使用这样的东西:
func scrollToSelectedPosition() {
let indexPath = NSIndexPath(forRow: selectedPositionInt!, inSection: 0)
self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Top, animated: false)
}
其中selectedPositionInt是您要滚动到的位置。