2014-12-30 5 views
1

내 프로젝트에서 MMDrawerController를 사용하고 있으며 rootViewController가되고 싶지 않습니다. 또한 스토리 보드를 사용하여 UI를 설정하고 있습니다. 대부분의 샘플 코드는 이와 같이 표시되지 않습니다. 그래서 나는 그것을하는 방법을 조금 혼란스러워합니다.MMDrawerController not rootViewController

navigationController로 퍼스트 FirstContController를 설정했고 그 위에 Button이 있습니다. ButtonClick을 사용하여 컨트롤러를 CenterViewController에 푸시합니다. 여기

내 코드는

...

FirstViewController.m

CenterViewController.m

- (void)viewDidLoad { 
[super viewDidLoad]; 
self.view.backgroundColor = [UIColor lightGrayColor]; 
MMDrawerBarButtonItem * rightDrawerButton = [[MMDrawerBarButtonItem alloc] initWithTarget:self action:@selector(rightDrawerButtonPress:)]; 
[self.navigationItem setRightBarButtonItem:rightDrawerButton animated:YES]; 
} 

-(void)rightDrawerButtonPress:(id)sender{ 
[self.mm_drawerController toggleDrawerSide:MMDrawerSideRight animated:YES completion:nil]; 
} 

RightViewController.m

- (void)viewDidLoad { 
[super viewDidLoad]; 
self.view.backgroundColor = [UIColor yellowColor]; 
} 

UIViewController * centerViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"CenterViewController"]; 
UIViewController * rightSideDrawerViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"RightViewController"]; 

self.drawerController = [[MMDrawerController alloc] initWithCenterViewController:centerViewController rightDrawerViewController:rightSideDrawerViewController]; 

[self.drawerController setShowsShadow:NO]; 
[self.drawerController setMaximumRightDrawerWidth:150.0]; 
[self.drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll]; 
[self.drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll]; 
이 일할 수 없다. 스토리 보드에 MMDrawerController를 넣어야하는지 혼란 스럽습니까?

application:didFinishLaunchingWithOptions을하지만 여전히 MMDrawerController는 루트 될 것입니다 : didFinishLaunchingWithOptions를 :

+0

스토리 보드에 넣지 마십시오. 스토리 보드에 사용할 때 어려움에 직면했습니다. 그래서 마침내, 나는 펜촉으로 접근했다. – NightFury

답변

0

당신은 응용 프로그램에서 다음 코드를 사용할 수 있습니다.

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Home" bundle:nil]; 

UIViewController * leftSideNavController = 
[storyboard instantiateViewControllerWithIdentifier: 
@"LeftMenu"]; 

UIViewController * centerSideNavController = [storyboard instantiateViewControllerWithIdentifier : @"Home"]; 

UIViewController * rightSideNavController = [storyboard instantiateViewControllerWithIdentifier : 
@"RightMenu"]; 


UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:centerSideNavController]; 
self.drawerController = [[MMDrawerController alloc] initWithCenterViewController:navigationController leftDrawerViewController:leftSideNavController rightDrawerViewController:rightSideNavController]; 



[self.drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll]; 
[self.drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll]; 


[self.window setRootViewController:self.drawerController]; 
/* Optional - To define Drawer width */ 
[self.drawerController setMaximumRightDrawerWidth:280.0]; 

[self.drawerController setMaximumLeftDrawerWidth:280.0]; 

[self.window makeKeyAndVisible]; 

희망이 도움이됩니다.