我有一个这样的选项卡式应用程序:
并且已经设置了它应该看起来的所有东西,但它还不能运行。我已经用谷歌搜索了我的问题,他们说你首先需要设置一个 NavigationController,其表视图为 rootView,然后是 NavigationBar,但我真的想不通。希望你们中的某个人可以帮助我。
我有一个这样的选项卡式应用程序:
并且已经设置了它应该看起来的所有东西,但它还不能运行。我已经用谷歌搜索了我的问题,他们说你首先需要设置一个 NavigationController,其表视图为 rootView,然后是 NavigationBar,但我真的想不通。希望你们中的某个人可以帮助我。
如果不使用故事板,假设这将在代码中完成,您需要按照层次结构的相反顺序创建事物 - 如下所示:
这将创建此层次结构:
标签栏控制器 -> 视图控制器:导航控制器 -> 根视图控制器:Einstellungen
如果您使用 Storyboard,请选择您的视图控制器,转到“编辑”菜单并选择“嵌入导航控制器”。
根据您对我对您问题的评论的回复,您应该这样做:
首先,为了使它看起来像设置应用程序表,您需要将您的样式更改UITableView
为UITableViewStyleGrouped
.
您的层次结构将包括以下内容:
实际添加到您的UITabBarController
viewControllers 数组中的视图控制器(因为我看到您有一个标签栏作为您的最低导航级别)应该是UINavigationController
. 导航控制器的根视图控制器应该是您创建的包含表视图的 uiviewcontroller 子类。(假设它被称为SettingsViewController
)
SettingsViewController *settingsViewController = [[SettingsViewController alloc] init];
UINavigationController *settingsNavController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];
您可能需要为您想要的每种类型的详细信息窗格创建一个不同的 UIViewController 子类(如果它们具有不同的功能)。
在该didSelectRowAtIndexPath
UITableViewDelegate
函数中,您将创建适当的细节视图控制器并将其推送到您的导航堆栈中。
假设您有一个音量设置视图控制器作为示例。以下是我刚才提到的函数中的代码。请记住,您还需要实际检查所选行的索引和/或部分,以确定应该显示哪个详细视图。
VolumeSettingsViewController *volumeSettings = [[VolumeSettingsViewController alloc] init];
[self.navigationController pushViewController:volumeSettings animated:YES];
默认情况下,它的功能与 Apple 设置应用导航非常相似。导航栏将自动有一个“返回”按钮,带您返回设置视图。