0

私のアプリでは、一連の画像を動的に読み込みます。ユーザーが画像をタップすると、画像の大きなプレビューを開く新しい ViewController (MediaPreview) が開きます。

次のように MediaPreview コントローラーを作成します。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
mediaPreviewVC = (MediaPreviewViewController *)[storyboard instantiateViewControllerWithIdentifier:@"MediaPreviewViewController"];
mediaPreviewVC.selectedImageURL = [NSString stringWithFormat:@"%@",gestureRecognizer.view.tag];
navigationController = [[UINavigationController alloc] initWithRootViewController:mediaPreviewVC];
[self presentViewController:navigationController animated:YES completion:nil];

これにより、次のような ViewController が作成されます。

ここに画像の説明を入力

ただし、ストーリーボードで概説されている下部のナビゲーション バーが表示されないようです。

ここに画像の説明を入力

下部のナビゲーション バー ボタンがビューに表示されるようにするにはどうすればよいですか?

4

1 に答える 1

1

クロス全体からナビゲーション コントローラーを作成しています。

navigationController = [[UINavigationController alloc] initWithRootViewController:mediaPreviewVC];

alloc-init「私を完全に新鮮で、別の、一般的なものにする」ことを意味します。したがって、ストーリーボードのナビゲーション コントローラーでnavigationControllerはありません。これはまったく新しい別のナビゲーション コントローラーです。したがって、ストーリーボードにあるものは無関係です。

ストーリーボードからナビゲーション コントローラーが必要な場合は、ストーリーボードからナビゲーション コントローラーをインスタンス化する必要がありました。または、これを意図的に行っている場合、明示的に表示しない限り、下部のバーは表示されません。これは、デフォルトでは表示されていないためです (明示的に表示する方法は明らかです)。

しかし、その場合、ストーリーボードから引き出すつもりなら、コード全体が間違っている可能性があります。ストーリーボードのコードには、おそらく正しいルート ビュー コントローラーも含まれているからです。

于 2014-09-01T20:39:07.220 に答える