【发布时间】:2014-08-22 01:40:35
【问题描述】:
是的,我已经查看了一些关于该主题的 SO 问题,但我发现这里很难提出正确的解决方案。
要求
我有一个基于 UITabBar 的应用程序。其中一个选项卡有一个UINavigation 控制器,顶部有UISegmentedControl,允许用户在三个不同的视图之间切换。
每个视图都有一个 UITableView,它允许用户导航到另一个视图。这些视图应该被推送到导航控制器。
问题
现在所有关于该主题的 SO 问题和答案都显示了如何在视图之间切换。但是,我需要切换到的视图,以允许将另一个视图推送到导航堆栈上。我不确定这是否可能。我想到了 UIViewController 的包含——但是这会显示一个视图被推送到屏幕边界的较小窗口中的堆栈上。不是我要找的。
有什么想法可以用故事板和 UIViewControllers 解决这个问题吗?
更新
这是我想要做的:在屏幕截图中,容器区域是我需要加载其他视图控制器的地方。 UISegment 控件无法进入导航栏,因为该空间用于其他用途。所以这就是为什么我认为 UIViewController 包含在这里可能会更好?
【问题讨论】:
-
当您单击 UISegmentedControl 按钮之一时,您应该能够在您的
UINavigationController上执行 pushViewController 以创建导航堆栈。那不行吗? -
感谢您的帮助。推动部分不是我卡住的地方。请参阅我的问题中的更新。 :) 我相信一旦我到达那里,推送就会起作用。
-
哦,很有趣 - 所以你想要在那个灰色区域内有一个导航堆栈,类似于 UIWebView 的功能?
-
@LyricalPanda 不完全是。灰色区域需要显示三个不同的 UIVIewController。 (UISegmented 控件有两个段 - 仅用于演示目的) - 选择其中任何一个段都会将灰色区域中的视图切换到不同的视图控制器。 (这是我坚持的第一点)我担心的第二点是当用户点击灰色区域中的 UItableView 单元格时,将新的视图控制器推入堆栈。我希望新的视图控制器是全屏的而不是调整大小(但我现在正在尝试解决我的第一个问题) - 我希望这能解决它?
-
是的!抱歉,我花了这么长时间才理解这个问题。您对每种观点的逻辑是否截然不同?即使您正在寻找使用 UIViewControllers 的解决方案,我知道这可以通过创建默认隐藏的自定义 UIViews 并在您选择按钮时显示它们来解决。如果您没有完全独立的逻辑,这可能是一种方法。
标签: ios objective-c uiviewcontroller uisegmentedcontrol