我有一个视图,该视图的顶部有一个导航栏,菜单的中间有4个按钮,底部有一个标签栏导航。
当仅使用选项卡栏项目时,一切正常,但是当我通过按钮加载视图之一时,按下选项卡栏项时视图仍然存在。
我是ios的新手,所以我可能无法很好地解释它。我要附上几张照片以显示我的意思。
我假设我要解决的问题是拦截选项卡栏上按下的“主页”按钮,并告诉它消除以前加载的视图。我可以出去吃午饭。
请让我知道如何使选项卡栏上的主页按钮加载初始视图,即使按下其中一个按钮加载另一个视图也是如此。
这是我的故事板的外观。我使用了Editor-> Embed TabbarController。
**更新:仍在努力解决此问题。我试图根据栈溢出的一些Q / A通过应用程序委托来设置选项卡栏控制器委托,但这似乎没有什么不同。如果我想拥有一个带有指向各个部分的按钮的主屏幕,并且这些部分具有导航和Tab栏控制器,我应该采取另一种方法。
最佳答案
您需要在标签栏项目点击事件中添加一行代码
在选项卡栏项目的导航控制器上使用popToRootViewController方法。
您可以像这样从标签栏找到导航控制器对象
UINavigationController *navcon = (UINavigationController*)myTabBarController.selectedViewController;
the use popToRootViewController
[navcon popToRootViewControllerAnimated:NO];
您可以将此委托用于此代码
-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
关于ios - 按下标签栏项目时如何关闭 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16932325/