在不移除标签栏的情况下显示额外的视图控制器
Display extra view controller without removing the tab bar
我的应用有一个菜单和一个 UITabBarController
。我想要做的是显示属于我的菜单但不属于 UITabBarController
的视图控制器,但是我不想删除 UITabBarController
。我尝试了类似于下面的代码,但它们正在删除 UITabBarController
.
tabBarViewController.selectedViewController?.presentViewController(ExtraViewController, animated: true, completion: nil)
您应该获得 UINavigationController
个选定的 ViewController
,然后推送您想要展示的视图。否则,您使用 presentViewController
呈现模态视图控制器会隐藏您的 UITabBarController
视图。
我现在不在电脑前,无法 post 任何代码,但希望这对您有所帮助。
最好的方法是使用 UINavigationController
。您可以以编程方式创建一个新的,并将您的菜单控制器设置为 root。
如果您将此 UINavigationController
作为 UITabBarController
中的视图之一,那么您可以执行如下代码:
[self.navigationController pushViewController:ExtraViewController animated:NO];
您也可以使用故事板来创建您的控制器层次结构:
要做到这一点 select 您的菜单控制器并转到 Xcode menu>Editor>Embed in>Navigation Controller
然后 Xcode menu>Editor>Embed in>Tab Bar Controller
。
我的应用有一个菜单和一个 UITabBarController
。我想要做的是显示属于我的菜单但不属于 UITabBarController
的视图控制器,但是我不想删除 UITabBarController
。我尝试了类似于下面的代码,但它们正在删除 UITabBarController
.
tabBarViewController.selectedViewController?.presentViewController(ExtraViewController, animated: true, completion: nil)
您应该获得 UINavigationController
个选定的 ViewController
,然后推送您想要展示的视图。否则,您使用 presentViewController
呈现模态视图控制器会隐藏您的 UITabBarController
视图。
我现在不在电脑前,无法 post 任何代码,但希望这对您有所帮助。
最好的方法是使用 UINavigationController
。您可以以编程方式创建一个新的,并将您的菜单控制器设置为 root。
如果您将此 UINavigationController
作为 UITabBarController
中的视图之一,那么您可以执行如下代码:
[self.navigationController pushViewController:ExtraViewController animated:NO];
您也可以使用故事板来创建您的控制器层次结构:
要做到这一点 select 您的菜单控制器并转到 Xcode menu>Editor>Embed in>Navigation Controller
然后 Xcode menu>Editor>Embed in>Tab Bar Controller
。