0

が付属しているUIButtonがあります。UILongPressGestureRecognizer

ボタンが有効になっている場合、gestureRecognizer からイベントを受け取ります。
ただし、ボタンが無効になっている場合 (つまりbutton.enabled = NO)、これらのイベントは受け取りません。

UILongPressGestureRecognizerが有効になっていない場合にからイベントを受け取る方法はありますUIButtonか?

4

1 に答える 1

0

いくつかのオプション:

  • 実際にボタンを無効にしないでください。内部でフラグを設定するだけで、フラグが false の場合はボタン アクションを実行しません。副作用は、ボタンがまだ機能しているように見えることです。

  • 無効になっているボタンの上に、外観が見えない別のボタンを作成します。そこにも長押しをつけます。表示ボタンを有効にすると、非表示ボタンが無効になり、その逆も同様です。

  • 親ビューを長押しし、ジェスチャー デリゲートを使用して、ボタンの上にあるかどうかを確認します。

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
    {
        if (touch.view == theButton)
        {
            // Perform your action
        }
    }
    
于 2012-09-18T23:12:37.423 に答える