ios - 如何在iOS应用程序中转到 "Home-page"?

标签 ios objective-c uinavigationcontroller

我有 UIViewControllerUITabBarControllerUIViewController 包含 5 个按钮,UITabBarController 有 5 个选项卡。

通过点击第一个按钮,应用程序会显示 TabBarController 和第一个选定的选项卡,第二个 - TabBarController 和第二个选项卡,依此类推...

为了准备这个,我对每个按钮都使用了Modal-segue

一切正常。

现在我需要在 TabBarControllerUINavigationBar 上创建“Home”按钮(可能以编程方式),它将执行“Go home view”操作。

编辑了更多详细信息

{参见下面的屏幕截图}

  1. 初始 UIViewController
  2. UITabBarController
  3. 导航 Controller
  4. UIViewController

12 之间有两个模态转场(两个按钮 - 两个转场)

在 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 中创建一个按钮。

enter image description here

最佳答案

我建议您选择一个导航 Controller 作为家长。
然后,将您的启动 View 添加为其 Root View 。

Application Flow Suggestion

在主视图 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/

相关文章:

ios - 如何为导航栏设置自定义(RGB)颜色?

ios - Swift:如何在自定义 segue 之后保留嵌入式导航 Controller ?

ios - 在同时具有标签栏 Controller 和导航 Controller 的屏幕中放置广告的位置

UIStoryBoardSegue 方法的 iOS Swift 问题

ios - 升级到 Xcode 7 iOS 9 后 UITableView 单元格显示空白

ios - 删除存储在 nsuserdefault 中的 nsdata

ios - 如何准确放大捏合手势的特定点(多次捏合)?

ios - xcode 无法识别@property,但它是正确的

ios - 格式化互联网时间字符串(Swift 1.2)

c# - 从 DataContractJsonSerializer 格式化日期到 iOS