2011-07-15 15 views
0

UIButtonアクションとtouchesmovedの使用に問題があります。シナリオは、一連のボタンの上に指をドラッグすると、そのアクションを呼び出す必要があります.Iボタンも個別にタッチできます。UIButtonによるタッチ検出

私はtouchesmovedメソッドを使用して、そのアクションをトリガーするuibuttonのタッチポイントを見つけました。そのアプローチの問題点は、どこかでタップしてボタンを指で動かすとすべてが機能しますが、UIButton自体に触れ始めると、touchesmovedメソッドが呼び出されません。

+0

あなたはすべてのボタンが含まれているのUIViewでtouchesMovedを実装するような音。したがって、ビューにはtouchesMovedの実装があります。今、ボタンを押すと、ボタンはtouchesMovedのインスタンスを持たないため、関数を呼び出さず、何も起こりません。 – ColdLogic

答えて

0

あなたは

など、あなたがそれにターゲットを追加し、UIControlEventTouchDragInsideのように、多くのUIControlEventsのいずれかを使用することができ、彼らはそれの上にスワイプちょうどその時、タッチの正確な位置を知る必要がない場合ここでは、以下のUIControl.h

enum { 
    UIControlEventTouchDown   = 1 << 0,  // on all touch downs 
    UIControlEventTouchDownRepeat  = 1 << 1,  // on multiple touchdowns (tap count > 1) 
    UIControlEventTouchDragInside  = 1 << 2, 
    UIControlEventTouchDragOutside = 1 << 3, 
    UIControlEventTouchDragEnter  = 1 << 4, 
    UIControlEventTouchDragExit  = 1 << 5, 
    UIControlEventTouchUpInside  = 1 << 6, 
    UIControlEventTouchUpOutside  = 1 << 7, 
    UIControlEventTouchCancel   = 1 << 8, 

    UIControlEventValueChanged  = 1 << 12,  // sliders, etc. 

    UIControlEventEditingDidBegin  = 1 << 16,  // UITextField 
    UIControlEventEditingChanged  = 1 << 17, 
    UIControlEventEditingDidEnd  = 1 << 18, 
    UIControlEventEditingDidEndOnExit = 1 << 19,  // 'return key' ending editing 

    UIControlEventAllTouchEvents  = 0x00000FFF, // for touch events 
    UIControlEventAllEditingEvents = 0x000F0000, // for UITextField 
    UIControlEventApplicationReserved = 0x0F000000, // range available for application use 
    UIControlEventSystemReserved  = 0xF0000000, // range reserved for internal framework use 
    UIControlEventAllEvents   = 0xFFFFFFFF 
}; 
typedef NSUInteger UIControlEvents; 
+0

時間を割いていただきありがとうございます。私は私の問題を解決した。 – Vignesh

関連する問題