0

タップ ジェスチャ認識エンジンを UICollectionView に追加しましたが、コントローラーの実装にコントロール ドラッグを使用してアクションをターゲットにしようとすると、タップ ジェスチャ認識エンジンはメソッドを追加しません。何が起こっているのかについてのアイデアはありますか?

4

1 に答える 1

0

次の両方が真である必要があります。

  • Interface Builder でサブクラスを指定したことを確認する必要があります (たとえば、このメソッドをビュー コントローラーに配置する場合は、Interface Builder でシーンにビュー コントローラーのサブクラスが指定されていることを確認してください)。

    ここに画像の説明を入力

  • アクションを既存のアクションにリンクする場合、メソッドはクラスの実装に含まれている必要がありますIBAction( のように動作しvoidますが、指定する必要があります。指定IBActionしないと、IB はアクションをリンクできません)。 )、例:

    - (IBAction)handleTap:(UITapGestureRecognizer *)gesture
    {
        // do whatever I want to handle the tap here
    }
    

    メソッドにvoidまたはその他の戻り値の型が指定されている場合、Interface Builder では接続を確立できません。

個人的には、最初に Interface Builder で UI 要素を開発し、次に へのドラッグを制御して、@interfaceInterface Builder に実装のインターフェイスとシェルの両方を実際に追加させてから、そこにコードを追加します。

于 2013-06-22T00:54:47.840 に答える