在 TabBar 上方显示 UIViewController
Present UIViewController above TabBar
我正在使用 TabBarController,我想在其中一个选项卡中显示另一个 UIViewController,同时保持显示 TabBar。
如果我只是呈现或按下视图控制器,它会全屏显示在 TabBar 上方。
解决这个问题的正确方法是什么?
假设 ViewControllerA
是 TabBarController
的 UIViewController
。而你要呈现的UIViewController
是ViewControllerB
推送 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,大家可以看看
我正在使用 TabBarController,我想在其中一个选项卡中显示另一个 UIViewController,同时保持显示 TabBar。
如果我只是呈现或按下视图控制器,它会全屏显示在 TabBar 上方。
解决这个问题的正确方法是什么?
假设 ViewControllerA
是 TabBarController
的 UIViewController
。而你要呈现的UIViewController
是ViewControllerB
推送 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,大家可以看看