2011-12-04 17 views
4

UITableViewCellの中にUIButtonを入れる必要があります。ボタンの内側をタッチして指を動かすとテーブルがスクロールしない限り、すべて正常に動作します。UITableViewCellのUIButtonのタッチでテーブルをスクロールできない

UIButtonをサブクラス化し、touchesMoved:メソッドで同じメッセージをself.nextResponderに送信するか、touchesCancelledを呼び出して、次のレスポンダにタッチイベントが渡されることを期待します。

この問題を解決する良い方法はありますか?現在、私はUITableViewCellの上にUIViewを追加しています。手動でタッチイベントを検出し、結果をボタンまたは残りのセルにそれぞれ渡しますが、これは少し汚れています。

答えて

2

何がYESUITableViewdelaysContentTouchesプロパティを設定されて試すことができます。

また、あなたはYEScanCancelContentTouchesを設定することができます。

このプロパティの値がNOの場合、コンテンツビューのトラッキングが開始されると、スクロールビューは指の動きに関係なくスクロールしません( )。

出典:UIScrollView Class Reference

試してみてください。

_yourTableView.delaysContentTouches = YES; 
_yourTableView.canCancelContentTouches = YES; 
-2

最適な方法は、カスタムセルを作成して、作業をきれいにすることです。

チェックApple docs

+1

これは、ドキュメントへのリンクだけです。フィードバックやヒントは提供していません。 – RaffAl

+0

@reecon:1つの提案:ちょうどdocを読んで、なぜそれが答えになったのか分かるでしょう –

+0

私はそれを読んでいます。私はすべてのリンクされたドキュメントも読んでいます。 UITableViewCellにUIButtonを配置することについては何もありません。 – RaffAl

関連する問題