12
SettingsViewController *viewController = [[SettingsViewController alloc] init];
    [[self navigationController] pushViewController:viewController animated:YES];

このコードを NavigationController で使用すると、表示されるシーンは単なる黒い画面になります。ストーリーボードにはコンテンツが表示されますが、電話には表示されません。

4

7 に答える 7

18

これを試して:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
SettingsViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"setting"];
[self.navigationController pushViewController:viewController animated:YES];

settingviewcontroller の識別子を「setting」に設定します

于 2013-02-18T04:12:37.807 に答える
1

これを使って:

SettingsViewController *viewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]]; 
[[self navigationController] pushViewController:viewController animated:YES];
于 2013-02-18T03:30:35.143 に答える
0

これを試して

  SettingsViewController *viewController = [[SettingsViewController alloc]initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]]; 
  [self.navigationController pushViewController:viewController animated:YES];
于 2013-02-18T08:37:43.520 に答える
0

こんにちは、ビュー コントローラーのトップ バー プロパティ (ナビゲーション バー) を推論に設定する必要があります。私の場合、以前にトップバーを「半透明のナビゲーションバー」として設定しました

通常、これは、モーダル ビュー コントローラーからセグエを実行すると発生します。

于 2016-07-05T08:37:32.383 に答える
0

宛先ビューコントローラーのカスタム初期化により、この問題を解決しました。

宛先ビュー コントローラー:

-(id) initWithSender:(UINavigationController*)sender
{
        self=[sender.storyboard instantiateViewControllerWithIdentifier:@"DestinationVCIdentifier"];
    if (self) {
        //custom initialisation
    }
    return self;
}

そしてそれを使用して:

DestinationVC *viewController = [[SettingsViewController alloc] initWithSender:self.navigationController];
[[self navigationController] pushViewController:viewController animated:YES];
于 2014-07-20T11:48:06.113 に答える