今回はObjective-CのUIButtonにタップイベント処理を紐づける方法です。
(任意のメソッド){
[button addTarget:self action:@selector(button_Touch_Event:event:) forControlEvents:UIControlEventTouchUpInside];
}
//ボタンに紐づけるメソッド
-(void)button_Touch_Event:(UIButton *)sender event:(UIEvent *)event{
ボタンタップ時の処理
}
【応用】リスト表示されたボタンに処理を紐づける方法.
リスト表示されたボタンのタップ時に実行される処理を結び付ける方法です。
方法としては、「cellForRowAtIndexPath」メソッドを使用して設定します。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@”Cell名”];
UIButton *button = (UIButton *)[cell viewWithTag:1]; //ボタンに割り振られているTagを指定
[button addTarget:self action:@selector(button_Touch_Event:event:) forControlEvents:UIControlEventTouchUpInside];
}
ただし注意点として、すべての行のボタンに同じ処理が結び付けられるため、タップされたボタンの行によって使うデータを変える等工夫が必要です。
そこで詰まった場合は、こちらの記事を参考にしてください。