OGeek|极客世界-中国程序员成长平台

标题: IOS双击触发2 segues [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:32
标题: IOS双击触发2 segues

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

在我的右侧菜单上,我连接了一个带有自定义 segue (SASlideMenuPushSegue) 的按钮。 这在正常使用中工作正常,但如果我在按钮上点击得足够快,我可以设法推送更多 View 。

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

-(void) perform{

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

[root pushRightNavigationController:destination];
}

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



Best Answer-推荐答案


在里面放一个 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4