ECSlidingViewController - 你怎么知道菜单何时显示?

Posted

技术标签:

【中文标题】ECSlidingViewController - 你怎么知道菜单何时显示?【英文标题】:ECSlidingViewController - How do you know when the menu has been shown? 【发布时间】:2013-12-29 20:30:56 【问题描述】:

我正在将[ECSlidingViewController](我在github 上找到的)集成到我的应用程序中,我想知道是否有一个属性可以告诉我菜单是否已显示。我将使用它来控制菜单按钮的功能,作为隐藏和显示菜单的切换。有没有这样的属性?

【问题讨论】:

我设置了一个函数,它根据 topViewController 视图的当前帧返回一个“menuShown”BOOL。所以我让它工作。但是在文档中找不到任何内容。 是的。我快速查看了源代码,并没有看到这样的属性。坦率地说,我很惊讶 ECSlidingViewController 的开发人员在项目中留下了这样的东西。但无论如何,很高兴您找到了解决方法。 :) 【参考方案1】:

有同样的问题,我确信有更好的方法,但我只是这样做了:

- (IBAction)revealMenu:(id)sender

    ECSlidingViewController *slidingViewController = self.slidingViewController;
    if (slidingViewController.currentTopViewPosition == ECSlidingViewControllerTopViewPositionAnchoredRight) 
        [slidingViewController resetTopViewAnimated:YES];
     else 
        [slidingViewController anchorTopViewToRightAnimated:YES];
    

【讨论】:

根据提供的文档,这似乎是正确的方法,尽管我的方法也有效,尽管它是一种解决方法。我会接受这是正确的答案。谢谢。 :)【参考方案2】:

我认为正确的方法是使用Anchored Top Views Gestures 来控制顶视图在固定到侧面时的行为方式。

创建用于显示和隐藏菜单的切换的常见解决方案是:

self.slidingViewController.topViewAnchoredGesture = ECSlidingViewControllerAnchoredGesturePanning | ECSlidingViewControllerAnchoredGestureTapping;

允许用户使用 Tap 或 Pan 手势隐藏菜单。

【讨论】:

以上是关于ECSlidingViewController - 你怎么知道菜单何时显示?的主要内容,如果未能解决你的问题,请参考以下文章

ECSlidingViewController - 你怎么知道菜单何时显示?

ECSlidingViewController 冻结 UIRefreshControl

ecslidingviewcontroller和uislider

带有 UIScrollView 的 ECSlidingViewController

使用 ECSlidingViewController 在 MenuController 上激活平移手势

ECSlidingViewController - 将 UITableView 和 segue 添加到另一个 ViewController