iOS 中的 CAPSPageMenu 滑动和侧边菜单滑动冲突

Posted

技术标签:

【中文标题】iOS 中的 CAPSPageMenu 滑动和侧边菜单滑动冲突【英文标题】:CAPSPageMenu swipe and side menu swipe conflict in iOS 【发布时间】:2017-07-11 04:40:10 【问题描述】:

我在我的应用程序中使用 CAPSPageMenu (https://github.com/PageMenu/PageMenu)。我有侧面菜单(ECSlidingViewController - https://github.com/ECSlidingViewController/ECSlidingViewController)。现在,如果打开侧边菜单,我想禁用 pagemenu 的滑动手势,如果用户滑动侧边菜单应该关闭。目前发生的情况是如果侧边菜单打开并且用户滑动页面菜单正在更改页面。我们怎样才能做到这一点?

这是在页面菜单中禁用滑动的代码

_pagemenu.controllerScrollView.scrollEnabled = NO;

我的尝试是在侧菜单点击中写了一个回调,然后我尝试根据它重新加载页面菜单。但它不起作用。

if (self.menuCallBack) 
    _pagemenu.controllerScrollView.scrollEnabled = NO;
 else 
    _pagemenu.controllerScrollView.scrollEnabled = YES;

以及如何避免在最后一页后滑动。我有3个屏幕。如果我们在第三个屏幕之后滑动它会显示一些空白视图,我们如何避免这种情况?

任何帮助都将不胜感激。提前致谢。

【问题讨论】:

【参考方案1】:

ECSlidingViewController 正在使用平移手势来检测水平滑动。 CAPS 页面菜单使用滚动视图。 ECSlidingViewController 不能接收手势,即使在 CAPSPageMenu 类上禁用了滚动视图。

在你的 CAPSPagemenu 类上试试这个代码:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

    return YES;

【讨论】:

以上是关于iOS 中的 CAPSPageMenu 滑动和侧边菜单滑动冲突的主要内容,如果未能解决你的问题,请参考以下文章

WP8.1 侧边滑动Item

iOS 在主视图上实现覆盖侧边栏视图

如何实现像 Todo iOS 应用一样的侧边菜单?

侧边菜单滑动功能

android侧边栏的滑动,以及实现滑动启动另外的activity

xamarin 形式的侧边栏抽屉