1

シングルタップとダブルタップで異なる反応をするようにしようとしましたがUICollectionView、シングルタップが最初に認識されるため、これは実際には実現可能ではないことを示唆しているようです。それは本当に遅いタップで動作しますが、より速いものは常にデフォルトのジェスチャー認識を開始します(誰かがこれを機能させた場合、私は知りたいです)...

とにかく、私は自分UICollectionViewCellの(独自のクラスとNIBファイルを持つ)ボタンを配置することに頼りました。

質問はこれです:

UIViewControllercollectionView のボタンを使用する最良の方法は何ですか?

現在、サブクラスのヘッダーにプロトコルUICollectionViewCellがあり、viewController をデリゲートとして宣言し必要なプロトコル関数を実装しています。

ではcollectionView:cellForItemAtIndexPath:、VC をセルのデリゲートとして設定します。

それはすべて機能しますが、少し長ったらしく、これを行うのに最適な方法ではないかもしれません.

私が考えていたもう 1 つの方法は、デリゲートを使用して単にin addTarget:Action:のプロパティを呼び出すことではありませんでした。UICollectionViewCellcollectionView:cellForItemAtIndexPath:

これは単純に思えますが、デリゲート パターンの方が適しているように思えます。

どちらがより良いか、その理由、およびより適切な代替案についてのあらゆるアドバイスを歓迎します!

ありがとう。

4

2 に答える 2

-1

のカスタム サブビューを作成し、メソッドUICollectionViewCellにボタンを配置します。initWithFrameボタンをパブリックとして宣言して、後で使用できるようにするuicollectionviewcontrolleruicollectionview、プログラムで作成する場合に使用できるようにします。

于 2013-06-18T12:00:51.880 に答える