0

WEPopoverに埋め込まれた UITableView があります。ビュー全体が表示され、一番下のセルを除いてセルを選択できます。一番下の行を押しても、didSelectRowAtIndexPath は呼び出されません。ビューに UITapGestureRecognizer を追加してタッチをインターセプトし、対応するセルを以下のコードで計算してみましたが、機能することがわかりました。テーブル ビューがタッチ イベントを受信して​​いるにもかかわらず、なぜ didSelectRowAtIndexPath が呼び出されないのかを理解しようとしています。

CGPoint touchLocation = [sender locationInView:self.tableView];
NSIndexPath *tappedIndexPath = [self.tableView indexPathForRowAtPoint:touchLocation];
NSInteger row = [tappedIndexPath row];

どんなアイデアでも大歓迎です。

4

1 に答える 1

-1

UITapGestureRecognizer を削除します。必要ありません。私の推測では、

1) WEPopover が UITableView より小さい。WEPopover の clipsToBounds プロパティを YES に設定し、この問題がまだ発生しているかどうかを確認します。UITableView フレームと WEPopover フレームの高さを再確認して、それらが同じであることを確認することもできます。

2) 下部のセルをカバーするある種の透明なビューがあります。ビュー階層を確認し、透明なビューの色を [UIColor redColor] のようなものに設定し、UITableView の上に何かがないことを確認してください。

一番下のセルをタッチしてスクロールできますか?

于 2013-04-24T20:45:02.787 に答える