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 回答