【问题标题】:How to add a TableView with NavigationBar (Navigation Controller) to a View如何将带有 NavigationBar(导航控制器)的 TableView 添加到视图
【发布时间】:2012-06-19 15:51:11
【问题描述】:

我有一个这样的选项卡式应用程序:

并且已经设置了所有应该看起来的东西,但它还不能运行。我已经用谷歌搜索了我的问题,他们说你首先需要设置一个 NavigationController,其表视图为 rootView,然后是 NavigationBar,但我真的想不通。希望你们中的某个人可以帮助我。

【问题讨论】:

  • 你想要完成什么?您希望应用程序做什么?导航栏有什么用?你只想要一个列表->详细视图设置吗?
  • 我基本上只想要 ios 设备上的设置应用程序之类的设置,但我也有一个标签栏,我需要结合它。
  • 所以如果我例如按下 URL 应该会在右侧推送视图,导航栏应该显示视图的标题和“返回”箭头/按钮

标签: iphone objective-c uitableview uinavigationcontroller uitabbarcontroller


【解决方案1】:

根据您对我对您问题的评论的回复,您应该这样做:

首先,为了使它看起来像设置应用程序表,您需要将UITableView 的样式更改为UITableViewStyleGrouped

您的层次结构将包括以下内容:

实际添加到您的UITabBarController viewControllers 数组中的视图控制器(因为我看到您有一个标签栏作为您的最低导航级别)应该是UINavigationController。导航控制器的根视图控制器应该是您创建的包含表视图的 uiviewcontroller 子类。 (假设它叫SettingsViewController

SettingsViewController *settingsViewController = [[SettingsViewController alloc] init];

UINavigationController *settingsNavController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];

您可能需要为您想要的每种类型的详细信息窗格创建不同的 UIViewController 子类(如果它们具有不同的功能)。

didSelectRowAtIndexPathUITableViewDelegate 函数中,您将创建适当的细节视图控制器并将其推送到您的导航堆栈中。

假设您有一个音量设置视图控制器作为示例。以下是我刚才提到的函数中的代码。请记住,您还需要实际检查所选行的索引和/或部分,以确定应显示哪个详细视图。

VolumeSettingsViewController *volumeSettings = [[VolumeSettingsViewController alloc] init];

[self.navigationController pushViewController:volumeSettings animated:YES];

默认情况下,它的功能与 Apple 设置应用导航非常相似。导航栏会自动有一个“返回”按钮带您返回设置视图。

【讨论】:

    【解决方案2】:

    如果您使用的是 Storyboard,请选择您的视图控制器,进入“编辑”菜单并选择“嵌入导航控制器”。

    【讨论】:

      【解决方案3】:

      如果不使用故事板,假设这将在代码中完成,您需要按照层次结构的相反顺序创建事物 - 如下所示:

      • 使用 initWithNibName 创建 Einstellungen 选项卡的 TableViewController 实例:
      • 使用 initWithRootViewController 创建一个 UINavigationController:并将 Einstellungen 设置为根
      • 创建一个 UITabBarController 并将您的导航控制器设置为此标签栏控制器的视图控制器之一
      • 将标签栏控制器作为子视图添加到应用程序委托中的主窗口

      这将创建这个层次结构:

      标签栏控制器 -> 视图控制器:导航控制器 -> 根视图控制器:Einstellungen

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-26
        • 1970-01-01
        相关资源
        最近更新 更多