0

ユーザーがログインできるようにする初期ビューコントローラーを持つアプリケーションがあります。ユーザーがログインした後、ビューをクラスタイプTabViewControllerのカスタムタブバーコントローラーに変更しようとしています。問題は、タブ バー コントローラーに切り替えると、画面が黒くなり、下部のタブ バーが灰色で空になることです。

関連するコードを次に示します。

ViewController.m 内 (初期ログイン ビュー)

- (IBAction)logInButtonClicked:(UIButton *)sender
{
    TabViewController *tabView = [[TabViewController alloc] initWithSession:session];
    [self presentViewController:tabView animated:YES completion:nil];
}

TabViewController.m 内 (タブ バー コントローラーに割り当てられたクラス)

-(id) initWithSession: (Session*) s
{
    self = [super init];

    if (self)
    {
        session = s;
    }

    return self;
}

デフォルトの初期化を次のように行うときは、次のように注意してください。

TabViewController *tabView = [[TabViewController alloc] init];

同じ結果が得られます。

初期化時にストーリーボードのようにタブビューコントローラーを表示するにはどうすればよいですか?

ストーリーボード:

ここに画像の説明を入力

シミュレーターでのタブ ビュー コントローラーの外観:

ここに画像の説明を入力

4

3 に答える 3

1

とても簡単で、

私はあなたの問題を2段階で解決しようとします.

ステップ1--ストーリーボードでTabViewControllerを選択し、識別子を付けます(TabViewControllerのカスタムクラスの下)

ステップ2 -

- (IBAction)logInButtonClicked:(UIButton *)sender
{
 UIStoryboard *storyBoard=[UIStoryboard storyboardWithName:@"Your_Story_Board_Name" bundle:nil];
TabViewController *tabView = [storyBoard instantiateViewControllerWithIdentifier:@"TabViewController_Identifier_From_Storyboard"];
[self presentViewController:tabView animated:YES completion:nil];    
}
于 2014-02-13T18:47:35.020 に答える
0

で作成する必要があります で作成するのがTabViewController間違っている 場合、プログラムですべてのタブを作成するわけではありません。UIStoryboard- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier[[TabViewController alloc] init]

于 2014-02-13T18:40:38.660 に答える