2017-01-18 5 views
1

私は複数の選択を可能にするテーブルビューでカスタムセルを持っています。カスタムセルのセル選択領域を制限できますか?セル全体ではなく、セルの左側だけに選択領域を有効にできますか?uitableビューのセル選択領域を制限する

あなたの考えをお伝えください。

+1

あなたはそれにUITapGestureRecognizerを使用することができます – Birendra

+0

これを確認してください:[http://stackoverflow.com/questions/24141254/how-to-detect-tap-on-clear-part-of-uitableview](http:// stackoverflow .com/questions/24141254/how-to-detect-tap-on-clear-part-of-uitableview)または[http://stackoverflow.com/questions/11070874/how-can-i-distinguish-which-partクリックされたuitableviewセル](http://stackoverflow.com/questions/11070874/how-can-i-distinguish-which-part-of-uitableviewcell-has-been-clicked) –

+0

ありがとうございますリプレイ。私は、セルの右側にUITapGestureRecognizerを追加しますか?私はセル上にテキストフィールドを持っています – Sadik

答えて

2

はい、あなたが望むように、あなたのセルの左側にボタンを作ることができます。あなたがボタンをクリックするたびに、選択されたものが有効になります。

UITableView DidSelectRowForIndexPathにロジックを実装する必要はありません。 ボタンで管理する必要があります。

+0

私は、そのボタンの選択を取得し、選択複製配列を維持するために、その混乱の多くを作成しています。 – Sadik

+0

はい、アレイを維持する必要がありますが、それ以上の処理に役立ちます。私もこのアプローチを使用しました。 –

0

カスタムテーブルビューのセルにあります。ボタンをクリックしないと、その領域にボタンが追加され、ボタンに登録されている場合は、indexPathのdidselectitemは呼び出されません。同様の実装を自分で行っています。

My TableView Implementation

+0

ええ、私はこれをdoignしようとします。ありがとう – Sadik

+0

Objective-Cを使用しているので、それはあなたのための箱の解決策の正確なものです –

+0

余分なtableViewを削除してコードを微調整してください。ここでコメントしてください。 –

0

あなたは簡単にそのtag値を使用してUIButtonの選択を扱うことができるこの方法によって、あなたのセルの左側にUIButtonを追加することができます。

+0

問題はもっとですこのように実装すれば可視および不可視の行のボタン選択を維持する必要があります。 – Sadik

+0

モデルクラスを使っていて、配列を使って各セルのデータを埋めるのであれば大したことではないと思います。 – Sunny

+0

セルにUIViewを追加して、ユーザーインタラクションを無効にすることもできます。私はそれが良いと思う。それを試してみてください。 – Sunny

1

UITableViewCellサブクラスでpointInside:withEvent:メソッドをオーバーライドし、必要な領域内のポイントのみYESを返します。

関連する問題