1

アプリケーションで RESideMenu を使用しています。しかし、RESideMenu の前にログインと登録のビューコントローラーを追加する必要があります。

はいの場合、どうすればそれを行うことができますか?

前もって感謝します。

4

2 に答える 2

0

はい、可能です。

ソリューション 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

結果は次のようになります。

デモ

于 2015-05-12T00:22:02.197 に答える