2016-09-28 5 views
0

私はUITableViewCellの非常に単純なUITableViewを持っています。 DataSourceDelegatesが正しく設定されています。データが正しく表示されます。しかし、テーブルビューのセルがタッチに反応していません。 にセルのアクセサリービューが反応しますが。奇妙な問題:UITableViewCellはアクセサリビューでもタッチを検出しません

セルとセルの両方のアクセサリビューのセグを作成しようとしました。アクセサリービューに接続されているセグだけが機能します。 (didSelectRowAtIndexパスメソッドは呼び出されません)

何が原因で、このような問題をデバッグすることができますか?

+0

ご 'あなた'カスタムcell'内button'が –

+0

いいえ、それはちょうど、一般的な細胞ではないとしても、カスタムを使用している

tap.cancelsTouchesInView = false 

のObjective-Cセル – sleepwalkerfx

+0

はデータがセルに正しくロードされます。もしあなたが気にしないなら、あなたはtableview代理メソッドの実装をしてください。 –

答えて

1

最後に問題が見つかりました。 UITableViewCellがタッチを検出しなかった理由は、タップジェスチャ認識機能がビューに追加されていて、セルをタップしても、このタップジェスチャが起動して他のイベントをキャンセルするためです。次の行を追加する必要がないようにする。

スウィフト

[tap setCancelsTouchesInView:NO]; 
1

私が何をすべきか、ここではいくつかの問題があるかもしれませんが次のとおりです。

1:

2(tableView.allowsSelection = true)セルを選択できることを確認してください:あなたのデリゲートで、

を追加しますtableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

方法(あなたは "didDeSelect" メソッド:-)を追加しないように注意してください)。そこにブレークポイントを追加して接触を受け取るかどうか確認してください。

これは私がチェックするものです。

+0

ありがとうございます。私はこの仕事を得るためにあらゆる可能な解決策を試みました。これらの作品はありません。質問タイトルで触れたように、タッチを検出することはできませんが、アクセサリビューはタッチを受け取ります。起こりうるすべてのことが正しく設定され、再確認されたにもかかわらず、実際には問題は触れられません。 – sleepwalkerfx