我有一个应用程序,其中有一个标签栏,显示在大多数ViewControllers
中。问题是它没有显示在viewController
我通过此代码呈现的内容。
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:songsViewController];
[self presentViewController:navigationController animated:YES completion:nil]
我正在使用presentViewController
而不是pushViewcontroller
,因为我想在此视图中自定义navigationBar
。
如何使用storyboard
?
答案 0 :(得分:1)
当您使用presentViewController:animated:completion
时,您将以模态方式呈现视图控制器,这意味着它不会包含在任何现有容器中,例如UITabBarController
或类似的任何容器。因此,如果您希望以模态方式呈现UIViewController
时显示某些内容,则必须将其包含在您模拟呈现的视图控制器中。因此,从它的外观来看,您只需呈现UINavigationController
,其中包含songsViewController
。如果您希望保持UITabBar
显示,则需要在要呈现的视图中添加一个,或者需要更改代码,以便您不在此处以模态方式呈现视图控制器。要为与您已经展示的UITabBar
匹配的模态视图添加第二个UITabBar
,它会让您的应用工作变得相当奇怪,所以我建议您尝试更改它,这样您就不会必须提出模态视图。