ios - 在没有 Segue 的 UIViewController 之间移动

标签 ios objective-c uiviewcontroller segue

我有一个 Storyboard,有 8 个 UIViewController s 在它上面(和计数)。我需要能够按需在其中任意一对之间移动。本质上,我想做的是模仿 UITabBarController 的功能。 .既然这么多,我不能只用UITabBarController (这将立即解决我的问题),所以我使用 UIPopoverController带有嵌入式 UITableView允许用户选择他们的目的地。

当然,我可以在 Storyboard 上创建转场,但是要设置我目前需要的所有转场,我必须为我现在拥有的 View Controller 创建 56 个这样的转场,随着事情的发展可能还会更多.

我的一个想法是创建一个“集线器” View Controller ,除了为每个“真正的”VC 保留 segue 并成为每个 VC 的代表之外,它实际上并没有做任何事情。然后,当我想在 VC 之间切换时,我首先关闭 View Controller 并将目的地的 segue 名称传递回集线器。然后,集线器可以立即执行该转场,这将我带到我想要的地方。我认为这可行,但似乎有点骇人听闻。

有谁知道如果有更好的方法来实现这一点?谢谢!

最佳答案

你为什么不给每个人一个 Storyboard标识符,然后用它的标识符捕获你需要的任何人:

UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];

然后通过推送或模态呈现这个 View Controller

关于ios - 在没有 Segue 的 UIViewController 之间移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29950461/

相关文章:

ios - 清除 NSURLConnection 缓存

ios - MKDirections 计算ETAWithCompletionHandler : in background state

ios - 如果我知道用户很可能很快会选择 View Controller ,我该如何提前加载它?

AppDelegate 和 ViewController 类之间的 iOS 区别

ios - 我如何从 UINavigationController 转到 UIViewController

ios - 将更改部署到生产环境时,如何为 CKRecord 中的字段添加默认值?

iphone - iOS - 当有多个键时如何显示 plist 中的数据?

ios - 带有自定义动画的屏幕弹出 Controller 时出现黑色效果?

ios - 递归/迭代 NSURLSessionDataTask 导致内存泄漏

objective-c - 我可以在 .nib 中定义 socket 而不指定 Controller 吗?