アプリケーションで RESideMenu を使用しています。しかし、RESideMenu の前にログインと登録のビューコントローラーを追加する必要があります。
はいの場合、どうすればそれを行うことができますか?
前もって感謝します。
アプリケーションで RESideMenu を使用しています。しかし、RESideMenu の前にログインと登録のビューコントローラーを追加する必要があります。
はいの場合、どうすればそれを行うことができますか?
前もって感謝します。
はい、可能です。
ソリューション A:
ログイン/サインアップに成功したら、次の操作を行います。
[UIApplication sharedApplication].window.rootViewController = [[RESideMenu alloc] init...];
ソリューション B:
ログイン/サインアップ ビュー コントローラーを のメイン コンテンツ部分に配置しRESideMenu
、ユーザーがサインインするまで 2 つのサイド メニューを無効にします。
ソリューション C:
を に埋め込み、RESideMenu
必要UINavigationController
に応じてナビゲーション バーを非表示にします。
詳細については、「ビュー コントローラー コンテインメント」を調査することをお勧めします。これは、、、およびその他のタイプの「コンテナー」ビュー コントローラーでRESideMenu
使用されるパターンであるためです。UINavigationController
ソリューション C の簡単な例を一緒にハックしましたが、問題なく動作するようです。
@implementation LoginViewController
- (void)viewDidLoad {
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(50, 50, 100, 100);
[button setTitle:@"Login" forState:UIControlStateNormal];
[button addTarget:self action:@selector(goToRESideMenu) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
self.navigationController.navigationBarHidden = YES;
}
- (void)goToRESideMenu {
UIViewController *redViewController = [[UIViewController alloc] init];
redViewController.view.backgroundColor = [UIColor redColor];
UIViewController *greenViewController = [[UIViewController alloc] init];
greenViewController.view.backgroundColor = [UIColor greenColor];
UIViewController *blueViewController = [[UIViewController alloc] init];
blueViewController.view.backgroundColor = [UIColor blueColor];
RESideMenu *sideMenu = [[RESideMenu alloc] initWithContentViewController:redViewController
leftMenuViewController:greenViewController
rightMenuViewController:blueViewController];
[self.navigationController pushViewController:sideMenu animated:YES];
}
@end
結果は次のようになります。