IOS 双击触发 2 segues

标签 ios cocoa-touch uistoryboard uistoryboardsegue saslidemenu

我目前正在开发基于 https://github.com/stefanoa/SASlideMenu 的 ios 应用程序(副菜单类)和 Storyboard。

在我的右侧菜单上,我已将一个按钮与自定义转场 (SASlideMenuPushSegue) 连接起来。 这在正常使用中工作正常,但如果我在按钮上敲击的速度足够快,我可以设法推送更多 View 。

例如,如果我双击按钮,将推送 2 个 View 。 我不知道它来自哪里。这是转场代码:

-(void) perform{

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

[root pushRightNavigationController:destination];
}

知道这个错误的来源吗? 感谢您的回答。

最佳答案

在里面放一个 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 时,我遇到了与 segue 相同的事情,每次我将按钮一个接一个地按下时,它都会出现,所以我认为我们需要处理这种行为。

关于IOS 双击触发 2 segues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648975/

相关文章:

ios - 我是否将相同的对象与 prepareForSegue 传回?

ios - 构建 xcode 项目时界面生成器 Storyboard 编译器错误

ios - 导航 Controller 始终为零

ios - 展开 Storyboard(退出)segue 是否可以取代父场景中对子委托(delegate)的需求?

ios - 如何关闭 MFMailComposeViewController?

iphone - 可以在 iPhone 上使用 NSUserDefaults 保存整数数组吗?

ios - 在 uitextview 中显示 html 文本

iphone - MPMoviePlayerController 和本地 m3u8 文件

ios - 寻找IOS版本的ShowcaseView

ios - 初始化结构体实例并收到无法解析的标识符错误