如何为MFSideMenu类中的某些视图控制器禁用平移模式?

时间:2013-05-21 10:36:55

标签: iphone ios objective-c uiviewcontroller

我在我的项目中使用github link中的MFSideMenu。它正在工作,但是我想在某个viewcontroller中禁用它。

我在viewcontroller中添加了它,但它没有禁用panMode:

#import "MFSideMenuContainerViewController.h"

-(void) viewWillAppear:(BOOL)animated {

    MFSideMenuContainerViewController *sideMenu = [[MFSideMenuContainerViewController alloc] init];

    sideMenu.panMode = 0;

}

我的计划是在viewDidDisappear方法中重新启用panmode。

MFSideMenuContainerViewController.m文件中的{/ 1}}如果我将self.panMode = 0; 添加到- (void)setDefaultSettings {self.panMode = 0;}它会禁用菜单平移除外,当然会为整个应用禁用它。

我不能正确引用MFSideMenuContainerViewController属性panmode。

在我的AppDelegate中:

·H

@property (nonatomic, strong) MFSideMenuContainerViewController *container;

的.m

  MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                    containerWithCenterViewController:self.navController
                                                    leftMenuViewController:nil
                                                    rightMenuViewController:rightSideMenuController];

    self.window.rootViewController = container;

感谢您的帮助

2 个答案:

答案 0 :(得分:12)

您可以在viewWillAppear

中使用此功能
[self.menuContainerViewController setPanMode:MFSideMenuPanModeNone];

答案 1 :(得分:10)

有四种不同的MFSideMenuPanModes。

您可以尝试以下声明。

在AppDelegate.h中

@property (strong, nonatomic) MFSideMenuContainerViewController *container;

在AppDelegate.m中 - didFinishLaunchingWithOptions方法

 self.container = [MFSideMenuContainerViewController
                                                containerWithCenterViewController:[self navigationController]
                                                leftMenuViewController:leftMenuViewController
                                                rightMenuViewController:rightMenuViewController];

在View Controller中 - viewWillAppear方法。

AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
delegate.container.panMode = MFSideMenuPanModeNone;