ios - 使用 UISegmentedControl 在 UIViewController 之间切换

标签 ios objective-c uiviewcontroller uisegmentedcontrol

是的,我已经看过关于这个主题的一些 SO 问题,但我发现很难在这里提出正确的解决方案。

要求

我有一个基于 UITabBar 的应用程序。其中一个选项卡有一个 UINavigation Controller ,顶部有 UISegmentedControl,允许用户在三个不同的 View 之间切换。 每个 View 都有一个 UITableView,它允许用户导航到另一个 View 。这些 View 应该被推送到导航 Controller 上。

问题

现在所有关于该主题的 SO 问题和答案都显示了如何在 View 之间切换。但是我需要切换到的 View ,以允许将另一个 View 推送到导航堆栈上。我不确定这是否可能。我想到了 UIViewController 包含 - 但是这会显示一个 View 被推到屏幕边界的较小窗口中的堆栈上。不是我要找的。

关于如何使用 Storyboard 和 UIViewController 解决这个问题有什么想法吗?

更新

这是我正在尝试做的事情:在屏幕截图中,容器区域是我需要将其他 View Controller 加载到的地方。 UISegment 控件不能进入导航栏,因为该空间用于其他用途。所以这就是为什么我认为 UIViewController 包含在这里可能更好?

enter image description here

最佳答案

因此,即使这没有使用单独的 TableViewControllers,您也可以使用不同的自定义 UIViews,这些默认情况下是隐藏的,当您选择它的相应按钮时会变得可见。不幸的是,这将使您在同一个 VC 中拥有所有三个 View 的逻辑。

要解决这个问题,您可以尝试设置一些委托(delegate)并通过发送 didSelectTableAtIndexPathUIGesture 触摸来模仿 TableViewController 逻辑分离等到 ViewController 之外的类中,以帮助保持代码更简洁。

关于ios - 使用 UISegmentedControl 在 UIViewController 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24511221/

相关文章:

objective-c - 在 NSTableView 中显示二维数组

iphone - popToRootViewController 崩溃

ios - 导航堆栈中前一个 View Controller 的快速访问属性

iphone - 我们可以使用相同的 Xib(包含 UIView)来支持横向和纵向吗

iphone - 等待 MKReverseGeocoder 提供地址

ios - 如何在 Swift 中控制其他 App 的背景音乐?

iphone - 单击 "back"按钮时 UINavigationController 应用程序崩溃

ios - 需要从呈现的 UINavigationController 中返回到呈现的 UIViewController

ios - Swift 如何在按钮单击时显示 Tabbar

ios - 为什么在 iOS 11.4 版本中无法获取设备 token 值和 FCM token 值?