web-dev-qa-db-ja.com

UITableViewの選択されたインデックスを取得

UITableViewのインデックスを選択したい。私は次のコードを書きました:

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

これは常に最初のアイテムに有効です。 indexPathForRow.でインデックスを選択したい

助けてください。ありがとう。

103
iOSDev
NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];
215
Chris Gummer

現在選択されている行を取得します。セクションが1つしかない場合に役立ちます。

- (NSUInteger)currentSellectedRowIndex
{
    NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
    if (selectedIndexPath) {
        return selectedIndexPath.row;
    }
    else {
        return NSNotFound;
    }
}
8
ZevsVU

このコードを使用

CGPoint location =[sender locationInView:self.tableView];
NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *swipedCell  = [self.tableView cellForRowAtIndexPath:swipedIndexPath];
NSIndexPath *indexPath = [self.tableView indexPathForCell:swipedCell];
5
Vineesh TP

DidSelectRowAtIndexPathで、NSIndexPathが宣言されたインターフェイスを、返されたindexpathとして設定します。その後、その変数までスクロールできます。ヘルプが必要な場合は、コメントしてください。サンプルコードを提供できます。

4
Kolin Krewinkel

Swift 4.2

let selectedIndexPath = tableView.indexPathForSelectedRow

これはオプションの戻り値です。

1
davidrynn