MMDrawerControllerライブラリを使用しています。私のアプリケーションは Objective C です。最初の画面としてログイン画面があります。 AppDelegate.m のコード
LoginViewController* loginView= [[LoginViewController alloc]initWithNibName:@"LoginViewController"] bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:loginView];
self.loginViewController = navigationController;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window setRootViewController:navigationController];
[window makeKeyAndVisible];
ログインが成功したら、HomeViewController に移動します。ここで、ライブラリが機能するように rootViewController を MMDrawerController に変更する必要があります。このために、HomeViewController.m の ViewDidLoad() に次のコードを書いています。
-(Void)methodCalledInViewDidLoad
{
UIViewController * leftSideDrawerViewController = [[MMExampleLeftSideDrawerViewController alloc] init];
UIViewController * centerViewController = [[HomeViewController alloc] init];
UIViewController * rightSideDrawerViewController = [[RightViewController alloc] init];
UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:centerViewController];
[navigationController setRestorationIdentifier:@"HomeViewController"];
self.drawerController = [[MMDrawerController alloc] initWithCenterViewController:navigationController leftDrawerViewController:leftSideDrawerViewController
rightDrawerViewController:nil];
[self.drawerController setRestorationIdentifier:@"HomeViewController"];
[self.drawerController setMaximumLeftDrawerWidth:200.0];
[self.drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll];
[self.drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll];
[self.drawerController
setDrawerVisualStateBlock:^(MMDrawerController *drawerController, MMDrawerSide drawerSide, CGFloat percentVisible) {
MMDrawerControllerDrawerVisualStateBlock block;
block = [[MMExampleDrawerVisualStateManager sharedManager]
drawerVisualStateBlockForDrawerSide:drawerSide];
if(block){
block(drawerController, drawerSide, percentVisible);
}
}];
appDelegate.self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[appDelegate.self.window setRootViewController:self.drawerController];
}
これは機能しておらず、エラーが表示されています。利用可能なすべてのチュートリアルに従いました。rootViewController が HomeViewController のdrawerController に変更されない