Xcode AMSlideMenu 在某些屏幕中禁用菜单

Xcode AMSlideMenu disable menu in some screens

https://github.com/SocialObjects-Software/AMSlideMenu

在某些屏幕中需要禁用滑动菜单并为其他操作实现 UInavigationbar 按钮

可能吗?

谢谢

AMSlideMenu 提供一些禁用手势的方法:

- (void)addLeftMenuButton;
- (void)addRightMenuButton;
- (void)disableSlidePanGestureForLeftMenu;
- (void)disableSlidePanGestureForRightMenu;
- (void)enableSlidePanGestureForLeftMenu;
- (void)enableSlidePanGestureForRightMenu;

只需在您的控制器中调用 disableslidegesture

并更改您的导航栏按钮目标。

要将菜单按钮设置为您自己的,请将以下代码放在视图控制器中:

    UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back_button"]
                                                                  style:UIBarButtonItemStylePlain
                                                                 target:self
                                                                 action:@selector(action:)];

    self.navigationController.navigationBar.topItem.leftBarButtonItem = anotherButton;

要在视图控制器中禁用平移手势,只需导入 "UIViewController+AMSlideMenu.h" 并调用 [self disableSlidePanGestureForLeftMenu];

@DarkSun 的回答对我来说似乎是正确的。但除此之外,我想提一下,因为 iOS 8 你应该在 ViewController 的 viewWillAppear 函数中调用 [self disableSlidePanGestureForLeftMenu];

#import "UIViewController+AMSlideMenu.h"

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self disableSlidePanGestureForLeftMenu];
}