在特定索引路径行

时间:2016-06-07 18:05:29

标签: ios objective-c uitableview uiscrollview

我想要在特定tableView的屏幕上显示indexPath.row

例如,假设每个tableViewCell占据屏幕的一半,我希望屏幕显示在indexPath.row的6,,而不是始终从indexPath.row开始0

有没有办法做到这一点?

为了更清楚,我希望滚动表格视图,使得0-5行在屏幕外滚动,第6行是表格视图中的第一行。

2 个答案:

答案 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是您要滚动到的位置。