2016-05-25 27 views
0

tableViewが高速でスクロールしていて、ユーザーがタッチで停止しようとすると、tableViewはスクロールし続けます。そして、ユーザーは2回または3回タッチした後にのみスクロールを停止することができます。tableViewtableViewのスクロール速度が遅いと、tableViewがうまく反応します。スクロール中にUITableViewが一部のタッチに応答しません

tableViewにはサブビューがたくさんあるセルが表示されますが、1つのビューで問題をローカライズしました。 problemView.userInteractionEnabled = NOを設定すると、スクロールがうまく機能します。 problemViewのすべてのサブビューに対してuserInteractionEnabled = NOを設定するには、problemViewは設定しないでください。

ここでは、表示セルの画像であるproblemViewは赤枠で表示されます。

Displaying cell

問題を解決するためにどのようなアドバイスを与えるために誰かだろうか?

答えて

0

は、いくつかの可能性があります。

カスタムビュー、またはそのsuperviewsの1、NOに設定userInteractionEnabledました。

カスタムビューの上に、またはカスタムビュー内のテーブルビューの上に別のビューがあります。

テーブルビューが内部にあるカスタムビューは、テーブルビューよりも小さくなります(clipsToBounds = NOでは、親の境界を越えて通常はやり取りされないサブビューがあります)。スタック内の別のビューでも同じです。

カスタムビュー(またはそのスーパービューの1つ)は、pointInside:withEvent:またはhitTest:withEvent:を間違ってオーバーライドします。

+0

'problemView.userInteractionEnabled = NO'を設定すると問題が解決します。 'clipsToBounds = YES'のすべてのサブビューについて オーバーライドされたメソッド' pointInside:withEvent: 'または' hitTest:withEvent: 'を持つカスタムビューはありません – svvoff

0

何らかの形で編集していると思われるかもしれません。試してくださいallowsSelectionDuringEditing = YES。 UITableViewを使用してHere is more information

0

UITableViewCellでNSTimerを使用している場合は、議論したように異常な動作が発生しています。このような場合は、暗黙的にスケジュールされたタイマーを明示的にスケジュールされたタイマーに置き換える必要があります。

関連する問題