在 TabBar 上方显示 UIViewController

Present UIViewController above TabBar

我正在使用 TabBarController,我想在其中一个选项卡中显示另一个 UIViewController,同时保持显示 TabBar。

如果我只是呈现或按下视图控制器,它会全屏显示在 TabBar 上方。

解决这个问题的正确方法是什么?

假设 ViewControllerATabBarControllerUIViewController。而你要呈现的UIViewControllerViewControllerB

推送 ViewControllerB,同时保持 TabBar 显示。只需在 ViewControllerA 内调用

ViewControllerB *vc = // Initialize ViewControllerB here
[self.navigationController pushViewController:vc animated:YES];

出席ViewControllerB

ViewControllerB *vc = Initialize ViewControllerB here
vc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
[self presentViewController:vc animated:YES completion:nil];

对于演示,请确保为 modalPresentationStyle 属性 设置 UIModalPresentationOverCurrentContext,共 ViewControllerB。如果没有,它将在 TabBar

上全屏显示

为了方便理解,我创建了a demo repo,大家可以看看