4

シーンの UITableViewCell 内にある UIView 内に UITapGestureRecognizer をドロップすると、ストーリーボードから上記のエラーが発生します。

なぜこのエラーが発生するのか分かりますか?

4

2 に答える 2

8

なぜ制限が適用されているのかわかりませんが、なぜエラーが発生するのかはわかります。

StoryBoardでデザインするときUITableViewCellは、プロトタイプオブジェクトのみをデザインします。つまり、オブジェクトが実際に存在することはありません。実際に作成されるのはtableView:cellForRowAtIndexPath:

より良いアプローチは、コードでセルを構成するときにgestureRecognizerを作成することです。このように、この制限はありません。

あなたが実際にそれを必要としているかどうかも私はおそらく見ますか?touchesEnded1本の指で1回タップするだけの場合は、コーディングするか、代わりにUIButtonを使用する方がよい場合があります。

于 2012-11-30T10:55:03.950 に答える
0

自分で理由を見つけました。ストーリーボードでは、UITableViewControllerまたはそのサブクラスがあり、テーブルビューのコンテンツをデフォルトの「動的プロトタイプ」ではなく「静的セル」にする必要がある場合にのみ許可されます。その構成では、セルサブビュー内にジェスチャ認識機能を追加できます。

しかし、これは制限であり、テーブルビューコントローラーサブクラスの代わりに非常にカスタマイズされたビューコントローラーサブクラスがあるため、私の場合は機能しません。それを回避する他の方法を見つける必要があるようです:(

于 2012-11-30T11:44:29.813 に答える