我目前正在开发一个基于 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-推荐答案 strong>
在里面放一个 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/
|