2

私は現在、 https://github.com/stefanoa/SASlideMenu (サイド メニュー クラス) とストーリーボードに基づく ios アプリに取り組んでいます。

右側のメニューで、ボタンをカスタム セグエ (SASlideMenuPushSegue) に接続しました。これは通常の使用では正常に機能していますが、ボタンを十分に速くタップしていれば、より多くのビューを押すことができます。

たとえば、ボタンをダブルタップすると、2 つのビューがプッシュされます。どこから来たのかわかりません。セグエコードは次のとおりです。

-(void) perform{

SASlideMenuRightMenuViewController* source = self.sourceViewController;
SASlideMenuRootViewController* root = source.rootController;
SASlideMenuNavigationController* destination = self.destinationViewController;

[root pushRightNavigationController:destination];
}

このバグの原因について何か考えはありますか? ご回答有難うございます。

4

1 に答える 1

1

中に入れてBOOL isPressed、その特定のクラスでボタンが以前に押されたかどうかを確認します。

-(void) perform
{
     if(!isPressed)
     {
      SASlideMenuRightMenuViewController* source = self.sourceViewController;
      SASlideMenuRootViewController* root = source.rootController;
      SASlideMenuNavigationController* destination = self.destinationViewController;

      [root pushRightNavigationController:destination];
      isPressed = YES;
     }
}

リセットするだけisPressedです。popovercontrollerボタンを次々と押すたびにセグエが押されていることを提示したときに、セグエで同じことに遭遇したので、この動作を処理する必要があると思います。

于 2013-07-16T07:31:36.593 に答える