0

UITableViewCell本物のボタンのように振る舞わせたい。

私が使用していることがわかるまで

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

buttonトリックですが、タップ/ドラッグ/リリースのように動作しないため、これは最適ではありません。

セルの行をタップしてセル上で指をドラッグした場合、指を離しても選択されません(ただし、同じ場合、ボタンはそのアクションを開始します)。

実際のボタンを内部UITableViewCellに挿入せずに、実際のボタンのように動作させる簡単な方法はありますか?UIButtoncell

4

3 に答える 3

1

ボタンを含むテーブルビューセルを作成し、buttonsタグを行に設定するだけで、ボタンイベントを受信したときにボタンがどの行に属するかを調べることができます。新しいテーブルビューセルを作成するのではなく、再利用されたテーブルビューセルを返すときに、必ずボタンタグをリセットしてください。

于 2013-03-27T01:33:13.387 に答える
0

UITableViewCellをサブクラス化し、次のメソッドを使用します。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
  [super setHighlighted:highlighted animated:animated];
  if (highlighted) {
    _backgroundImageView.image = [UIImage imageNamed:@"img_h"];
  }
  else {
    _backgroundImageView.image = [UIImage imageNamed:@"img"];
  }
}

ここで、imgはプレーン画像であり、img_hはその画像の強調表示されたバージョンです。

于 2013-03-27T01:23:00.903 に答える
0

1つの方法は、セルのサイズのUIButttonを作成し、それをセルに追加することです。

または、単にを追加することもできUITapGestureRecognizerますUITableViewCell。これで作業が完了します。

于 2013-03-27T07:27:54.640 に答える