106

我想为UITableView. 我写了以下代码:

NSIndexPath *index = [NSIndexPath indexPathForRow:1 inSection:0];
[tableView scrollToRowAtIndexPath:index 
                 atScrollPosition:UITableViewScrollPositionTop 
                         animated:YES];

这始终适用于第一项。我想选择索引indexPathForRow.

请帮忙。谢谢。

4

5 回答 5

219
NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];
于 2010-10-27T07:45:56.310 回答
8

获取当前选定的行。如果您只有一个部分,可能会有所帮助。

- (NSUInteger)currentSellectedRowIndex
{
    NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
    if (selectedIndexPath) {
        return selectedIndexPath.row;
    }
    else {
        return NSNotFound;
    }
}
于 2014-10-03T08:13:15.267 回答
5

使用此代码

CGPoint location =[sender locationInView:self.tableView];
NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *swipedCell  = [self.tableView cellForRowAtIndexPath:swipedIndexPath];
NSIndexPath *indexPath = [self.tableView indexPathForCell:swipedCell];
于 2013-09-03T07:48:04.400 回答
4

在 didSelectRowAtIndexPath 中,将声明为 NSIndexPath 的接口设置为返回的 indexpath。然后您可以滚动到该变量。如果您需要帮助,请发表评论,我可以提供一些示例代码。

于 2010-10-27T07:23:22.510 回答
3

斯威夫特 4.2

let selectedIndexPath = tableView.indexPathForSelectedRow

这是一个可选的返回值。

于 2018-10-29T05:43:02.847 回答