我有 UIViewController
和 UITabBarController
。
UIViewController
包含 5 个按钮,UITabBarController
有 5 个选项卡。
通过点击第一个按钮,应用程序会显示 TabBarController
和第一个选定的选项卡,第二个 - TabBarController
和第二个选项卡,依此类推...
为了准备这个,我对每个按钮都使用了Modal-segue
。
一切正常。
现在我需要在 TabBarController
的 UINavigationBar
上创建“Home”按钮(可能以编程方式),它将执行“Go home view”操作。
编辑了更多详细信息
{参见下面的屏幕截图}
- 初始 UIViewController
- UITabBarController
- 导航 Controller
- UIViewController
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 中创建一个按钮。
最佳答案
我建议您选择一个导航 Controller 作为家长。
然后,将您的启动 View 添加为其 Root View 。
在主视图 Controller 页面上,
- (void)viewWillAppear:(BOOL)animated
{
self.navigationController.navigationBarHidden = NO;
}
因此,它将隐藏您的主导航。因此无需担心此内部导航流程。
对于内部导航,您已经采用了不同的导航 Controller 。
通过使用代码:
[self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
您将位于应用程序的根目录,它将弹出应用程序中堆叠的所有 View Controller 。
希望您能够理解流程,并且如果您感觉良好,就会应用。
享受编码的乐趣。
谢谢。
关于ios - 如何在iOS应用程序中转到 "Home-page"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15377764/