私は、各セルを長いプレスのジェスチャーに応答させたいtableViewを持っています。複数の表のセルにジェスチャー認識機能をロードできません
ジェスチャ認識器をプロトタイプセルに付け、tableViewControllerのスウィフトコードのIBActionに接続しました。
私は、アプリケーションを実行すると、最初のセルが正常に読み込まれ、長いプレスジェスチャーとエラーに応答します。
私は、テーブルに別の項目を追加すると、私はこのエラーを取得する:
2016-09-09 12:56:52.963 Day Care Register[1044:222155] WARNING: A Gesture
recognizer (<UILongPressGestureRecognizer: 0x7906a220; state =
Possible; view = <Day_Care_Register.DogTableViewCell 0x799c2c00>;
target= <(action=dogMarkedForBoarding:, target=
<Day_Care_Register.DogTableViewController 0x7906aa10>)>>) was setup in
a storyboard/xib to be added to more than one view (->
<Day_Care_Register.DogTableViewCell: 0x7a1bac00; baseClass =
UITableViewCell; frame = (0 0; 600 90); clipsToBounds = YES;
gestureRecognizers = <NSArray: 0x79180200>; layer = <CALayer:
0x7916cbe0>>) at a time, this was never allowed, and is now enforced.
Beginning with iOS 9.0 it will be put in the first view it is loaded
into.
OK、私はこの権利を理解していれば、私は複数のセルの上に同じジェスチャー認識器を使用することはできませんので、?
どうすれば修正できますか?
あなたが見たいコードがわからないので、何かを見たいと思っている場合は、コメントでお気軽にお問い合わせください。できるだけ早くご提供します。
UITableViewCellごとにUIGestureRecognizerを作成する必要があります.1つのジェスチャ認識器を1つのビューに対してのみ割り当てることができます。 –
私はそれをする方法がわかりません....私は私がストーリーボードのセルに認識装置をドラッグしたときに持っていたと思った –
ドラッグアンドドロップUIGestureRecognizerはInterface Builderのプロトタイプセルに接続し、長押し。 もう1つのオプションは、コードを使用してUILongGestureRecognizerを作成してセットアップすることです。これを行う最善の方法はawakeFromNib()メソッドです。 –