【问题标题】:iPhone Application - combination of UINavigationController and UITabBarControlleriPhone 应用程序 - UINavigationController 和 UITabBarController 的组合
【发布时间】:2010-07-19 04:25:49
【问题描述】:

我想制作具有复杂视图的登录应用。

需求流程如下:

Login Page --> Menu Page --> Detail Page with Tab Control. --> Navigation Page

这里的“详细信息页面”又是两个视图的组合。导航视图和选项卡视图。

即“详细信息页面”将在顶部有一个导航控件(导航栏),该控件的其余部分是一个选项卡控件,以便用户可以随时在选项卡之间切换。如果用户在导航控件中按“下一步”,他们将转到新页面,并可以通过从下一页按返回再次返回“选项卡视图”。

此外,我还有很多不适合单个选项卡视图的选项卡,因此我希望最后一个选项卡更像是更多选项,并且会转到不同的视图(表格视图的自定义)。

目前我已经开发了如下的Window基础应用程序。

  1. 从委托初始化的主控制器 (MainSwitcherViewController)。
  2. 这个主控制器有多个其他UIViewsController的引用

    例如:

    • Lo​​ginViewController 即 UIViewController。
    • MenuViewController 即 UIViewController。
  3. 最初我显示 LoginViewController。

  4. 成功登录后,我会显示 MenuViewController。
  5. 从 MenuViewController 对任何操作(选择菜单 - 当前添加为 UIButton),我打开新视图,但不是新视图 (UIViewController),我想进入导航视图和选项卡视图组合视图,如上所述.

这是我的问题:

  1. 我设计屏幕/视图的方法是否正确,还是需要采取其他方法?
  2. 如何在 UIViewController 到 TabViewController 或 NavigationViewController 之间切换?
  3. 如何创建组合控制器,在顶部和底部 TabBarViewControl 上具有导航控件,这样每个选项卡的导航控件都可见(共享)。

我是 iPhone 应用开发的初学者,

请给我一些具有类似示例的指针或链接。

提前致谢。

【问题讨论】:

    标签: iphone uiviewcontroller uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    好的,首先你的方法很好。您可以在与 UINavigationController 相同的类中拥有一个 UITabBarController。只需创建标签栏控制器,并在同一个类中创建导航控制器。用户将能够在该视图中同时使用两者。

    为此,在带有标签栏的类中:

    UITabBarController *mainTabBar = [[UITabBarController alloc] init];
    

    然后将视图添加到该选项卡栏控制器。在其中一个 UIViewController 中,添加一个导航控制器:

    UIViewController *mainViewController = [[MainViewController alloc] init];
    mainViewController.title = @"Welcome";
    UINavigationController *mainViewNavController = [[UINavigationController alloc] init];
    [mainViewNavController pushViewController:mainViewController animated:NO];
    

    然后只需将标签栏与新视图一起添加到视图中:

    mainTabBar.viewControllers = [NSArray mainViewNavController, nil];
    

    请记住只将导航控制器添加到标签栏控制器,因为如果您像往常一样添加类,它将没有导航控制器功能。

    希望这有帮助,如果没有,我很乐意澄清任何事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 2012-11-14
      相关资源
      最近更新 更多