1. ホーム
  2. iphone

[解決済み] テーブルビューの行をプログラムで選択する

2022-05-25 03:12:39

質問

プログラム上でどのように UITableView 行を選択します。

- (void)tableView:(UITableView *)tableView 
        didSelectRowAtIndexPath:(NSIndexPath *)indexPath

が実行されるのか? selectRowAtIndexPath を実行すると、その行だけがハイライトされます。

どのように解決するのですか?

から の参照ドキュメントを参照してください。

<ブロッククオート

このメソッドを呼び出しても、デリゲートには tableView:willSelectRowAtIndexPath: または tableView:didSelectRowAtIndexPath: メッセージも送信しません。 UITableViewSelectionDidChangeNotification を送信することもありません。

私ならどうするか。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self doSomethingWithRowAtIndexPath:indexPath];
}

そして、selectRowAtIndexPathを呼び出したかったところから、代わりにdoSomethingWithRowAtIndexPathを呼び出すのです。その上で、UIフィードバックを行いたい場合は、さらにselectRowAtIndexPathを呼び出すことができます。