如何在iOS App中转到“主页”?
我有UIViewController
和UITabBarController
。 UIViewController
包含5个按钮, UITabBarController
有5个Tabs。
通过点击第一个按钮应用程序显示TabBarController
与第一个选定的选项卡,第二个 – TabBarController
与第二个选项卡,依此类推……
为了准备这个,我已经为每个按钮使用了Modal-segue
。
一切都很好。
现在我需要在TabBarController
的UINavigationBar
上创建“Home”按钮(可能是以编程方式),它将执行“Go home view”动作。
编辑了更多细节
{见下面的截图}
- 初始UIViewController
- 的UITabBarController
- NavigationControllers
- UIViewControllers
在1和2之间有两个模态段(两个按钮 – 两个段)
在我的UIViewController中的prepareForSegue中:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { AppDelegate *d = (AppDelegate *)[[UIApplication sharedApplication] delegate]; if ([segue.identifier isEqualToString:@"s1"]) { d.initialTab = 0; } else if ([segue.identifier isEqualToString:@"s2"]) { d.initialTab = 1; } }
在UITabBarController中的viewDidLoad中:
TabController *mainTabController = (TabController *)self; AppDelegate *d = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [mainTabController setSelectedIndex:d.initialTab];
这是有效的!
但我需要回到主页。 所以如果在TabBarController之后有一个NavigationController,我想在NavigationBar中创建一个按钮。
我建议你把一个导航控制器作为父母。
然后,将您的启动视图添加为其根视图。
在主视图控制器页面上,
- (void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBarHidden = NO; }
因此,它将隐藏您的主导航。 因此无需担心此内部导航流程。
对于内部导航,您已经采用了不同的导航控制器。
通过使用代码:
[self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
你将成为应用程序的根本,它将扩展所有在应用程序中堆叠的视图控制器。
希望你能理解流程并且如果你感觉良好就会适用。
享受编码。
谢谢。