2012-04-02 8 views
0

UIButtonと同様のコントロールを作成することは可能ですが、タップと長いプレスジェスチャーをリンクさせることができるのでしょうか?私が尋ねる理由は、ホーム画面でアプリケーションの機能を模倣したいからです(アプリケーションを開いたり、移動したり、削除したりする)。私はボタンを作成したい、またはUIButtonを使用して、機能が可能な場合、押されたときに簡単な計算を実行することができますが、ボタンが押されている場合は、 。iOSの複数のジェスチャーにコントロールをリンクすることはできますか?

この場合、アドバイスをいただければ幸いです。

答えて

1

あなたが正しいとわかったら、いくつかのジェスチャ認識ツールをUIButtonに追加する必要がありますか?

- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 

をすべてのジェスチャーに保存されます:あなたはだけでなく、他のUILongPressGestureRecognizerを追加できるように

@property(nonatomic,copy) NSArray *gestureRecognizers 

あなたが使用してそこに多くのジェスチャーを追加することができますUIButtonはUIViewのから継承されていることを思い出し

ジェスチャーの種類。

しかし、シングルタップと長押しタップの違いを作ることができるの

- 制御イベントでUIButtonに標準ターゲットを追加: UIControlEventTouchUpInside

+0

だから、その場合には、私はタップジェスチャーを必要としませんか? UIControlEventTouchUpInsideにターゲットを追加するだけで、長押しのジェスチャーが発生した後でもターゲットを追加できると思っていたので、確信しています。 – Seb

+0

はい、シングルタップジェスチャーは必要ありません。内側にタップしても内側には触れないと呼び出されるからです(この場合、UITouchPhaseを使用してタッチをフィルタリングできます)。それはあなた次第です。 – SVGreg

+0

これは私のためにうまくいった。ありがとうございました。 – Seb

関連する問題