2013-05-21 16 views
5

私のプロジェクトでgithub linkのMFSideMenuを使用しています。それは動作していますが、私は特定のviewcontrollerで無効にしたいと思います。MFSideMenuクラスの特定のView Controllerでパンモードを無効にする方法はありますか?

私はViewControllerをでこれを追加しましたが、それはpanModeを無効にしません:

#import "MFSideMenuContainerViewController.h" 

-(void) viewWillAppear:(BOOL)animated { 

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

    sideMenu.panMode = 0; 

} 

私の計画はviewDidDisappear方法で再度有効panmodeに続きました。

FYI MFSideMenuContainerViewController.mファイル- (void)setDefaultSettings {self.panMode = 0;}self.panMode = 0; を追加すると、メニュー全体が無効になります

MFSideMenuContainerViewControllerプロパティのパンモードを正しく参照してはいけません。私AppDelegateで

の.h

@property (nonatomic, strong) MFSideMenuContainerViewController *container; 

.M任意のヘルプ

+0

.mファイルでは、新しいコンテナ変数を定義しないでください。代わりに、self.containerを使用してオブジェクトを割り当てます。その後、root.Controllerにself.containerを設定します。下の私の答えをチェックしてください。 – Inoka

答えて

10

ため

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

    self.window.rootViewController = container; 

おかげで、4つの異なるMFSideMenuPanModesがあります。

次の文を試すことができます。 AppDelegate.h

AppDelegate.mで
@property (strong, nonatomic) MFSideMenuContainerViewController *container; 

- didFinishLaunchingWithOptions方法あなたのビューコントローラで

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

- viewWillAppearメソッド。

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

私はそれを試みた。これは "panMode = 0;"と同じです。これは、MFSideMenuContainerViewController.mで直接変更できますが、他のビューコントローラでは変更できません。あなたの投稿に感謝します。 – hanumanDev

+1

異なるView Controllerであっても、AppDelegateから 'MFSideMenuContainerViewController'オブジェクトへの参照を取得してこのpanModeを割り当てることはできませんか? – Inoka

+0

@hanumanDev私は答えを編集しました。今すぐ確認してください。 – Inoka

11

これはviewWillAppearで使用できます。

[self.menuContainerViewController setPanMode:MFSideMenuPanModeNone]; 
関連する問題