3

我对 iOS 开发相当陌生,我想做一些类似于所附屏幕截图的东西。

在此处输入图像描述

我读过嵌套的 UINavigationControllers 不是一个好主意,如果不是不可能的话,所以我非常愿意接受关于如何实现我想要的东西的想法。

在我的第二个屏幕上,我想在两个视图之间来回切换(不使用手势并推送动画),同时保持静态页眉和页脚。

我知道如何进行推送转场的唯一方法是使用 UINavigationController,因此我认为需要嵌套的。

我该如何实施?我认为在我的第二个 UIViewController 中,我可以以编程方式创建一个 UINavigationController 并将其添加到 self.view,但我最终这样做了:

self.subNavigationController = [UINavigationController alloc] initWithRootViewController:[someVC alloc] init]];
[self.view addSubview: self.subNavigationController.view]

但这只会将 self.subNavigationController 的视图添加到 self.view,而不是 self.subNavigationController 本身。

就像我说的那样,我很容易偏离我应该如何处理它的方式,任何建议都值得赞赏。

4

1 回答 1

3

好的,如果我做对了,那么您想要的是一个可以在不同视图之间导航的应用程序(就像任何其他应用程序一样)。

这将使用一个UINavigationController(让我们称之为“nav1”),这是你可以接受的位。

但是,您还需要一个具有静态导航栏的视图。即,就 nav1 而言,这只是应用程序导航的一个部分。它还希望在其中有两个潜在的视图。(地图和表格视图),它的底部也会有一个静态栏(在 IB 中,我认为这是一个工具栏)。让我们称之为“mapAndTableViewController”。

您还没有确切说明这是如何工作的,但您不想在它们之间滑动手势。所以我猜你会有一个按钮或其他东西可以在它们之间交换?

像这样的东西...

http://www.youtube.com/watch?v=eg6vWGh67zk&feature=youtube_gdata_player

我这样做的方法是使用带有滚动视图的单个视图控制器。在滚动视图上设置滚动禁用并设置分页启用。这听起来很奇怪,但这从滚动视图中删除了触摸滚动,同时仍然允许代码访问。

现在,在mapAndTableViewController您填充滚动视图的左侧和右侧。

您现在要做的是获取两个视图控制器......mapViewControlleryourTableViewController实例化它们。然后将这些控制器的视图相应地添加到滚动视图的左右两侧。

本质上,您将拥有三个视图控制器。一个用于滚动视图,一个用于地图视图,一个用于表格视图。

如果没有您的任何进一步解释,我真的无能为力,因为我不完全理解您想要实现的目标。

希望这可以帮助...

于 2013-07-04T21:28:46.613 回答