2011-02-09 14 views
0

それぞれのUITableViewCellにUIButtonを持たせて、その行に対応するオブジェクトのセレクタを実行できるようにしたいとします。彼らは私がそれを動作させる方法は、各行(再利用)、別のUITableViewCellを作成する行にタグ付けされた新しいUIButtonを追加することでした。ボタンがタップされると、セレクタは送信者のタグをチェックして、どのオブジェクトを変更するかを決定します。ボタン付きUITableViewセル

これを行うには良い方法がありますか? 1つは、私は残念な細胞を再利用していない、とUIView.tagを使用して非常にハッキーのようです。

答えて

6

すべてのUIButtonで同じタグ番号を使用できます。

セレクタにこのコードを実装し、クリックされた行番号を抽出する:

- (void)buttonClicked:(id)sender 

{ 

    UITableViewCell * clickedCell = (UITableViewCell *)[[sender superview] superview]; 

    NSIndexPath * clickedButtonPath = [self.tableView indexPathForCell:clickedCell]; 

    int rownumber = clickedButtonPath.row; 
} 
0

UITableViewCellのサブクラスを作成し、ボタンへの参照を格納するようにしました。次に、セルをデキューするときにそのボタンを設定します。呼び出されたメソッドでは、送信者がボタンになり、スーパービューであることを尋ねることができます。

関連する問題