是的,我已经看过关于这个主题的一些 SO 问题,但我发现很难在这里提出正确的解决方案。
要求
我有一个基于 UITabBar 的应用程序。其中一个选项卡有一个 UINavigation
Controller ,顶部有 UISegmentedControl
,允许用户在三个不同的 View 之间切换。
每个 View 都有一个 UITableView,它允许用户导航到另一个 View 。这些 View 应该被推送到导航 Controller 上。
问题
现在所有关于该主题的 SO 问题和答案都显示了如何在 View 之间切换。但是我需要切换到的 View ,以允许将另一个 View 推送到导航堆栈上。我不确定这是否可能。我想到了 UIViewController 包含 - 但是这会显示一个 View 被推到屏幕边界的较小窗口中的堆栈上。不是我要找的。
关于如何使用 Storyboard 和 UIViewController 解决这个问题有什么想法吗?
更新
这是我正在尝试做的事情:在屏幕截图中,容器区域是我需要将其他 View Controller 加载到的地方。 UISegment 控件不能进入导航栏,因为该空间用于其他用途。所以这就是为什么我认为 UIViewController 包含在这里可能更好?
最佳答案
因此,即使这没有使用单独的 TableViewControllers
,您也可以使用不同的自定义 UIViews
,这些默认情况下是隐藏的,当您选择它的相应按钮时会变得可见。不幸的是,这将使您在同一个 VC 中拥有所有三个 View 的逻辑。
要解决这个问题,您可以尝试设置一些委托(delegate)并通过发送 didSelectTableAtIndexPath
、UIGesture
触摸来模仿 TableViewController
逻辑分离等到 ViewController
之外的类中,以帮助保持代码更简洁。
关于ios - 使用 UISegmentedControl 在 UIViewController 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24511221/