5

我在我的项目中使用来自github 链接的 MFSideMenu 。它正在工作,但是我想在某个视图控制器中禁用它。

我在视图控制器中添加了这个,但它没有禁用 panMode:

#import "MFSideMenuContainerViewController.h"

-(void) viewWillAppear:(BOOL)animated {

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

    sideMenu.panMode = 0;

}

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

仅供参考,MFSideMenuContainerViewController.m如果我添加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;

谢谢你的帮助

4

2 回答 2

12

您可以在viewWillAppear.

[self.menuContainerViewController setPanMode:MFSideMenuPanModeNone];
于 2014-02-05T07:12:42.880 回答
10

有四种不同的 MFSideMenuPanMode。

您可以尝试使用以下语句。

在 AppDelegate.h

@property (strong, nonatomic) MFSideMenuContainerViewController *container;

在 AppDelegate.m - didFinishLaunchingWithOptions 方法中

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

在您的视图控制器 - viewWillAppear 方法中。

AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
delegate.container.panMode = MFSideMenuPanModeNone;
于 2013-05-21T11:17:30.383 回答