ios - 以编程方式获取 segue(和目标 View Controller )的任何方法?

标签 ios cocoa-touch segue uistoryboardsegue 3dtouch

有什么方法可以在 -[UIViewController performSegueWithIdentifier:sender:] 之外以编程方式获取 Storyboard中创建的 segue?

理想情况下,我希望能够在 Storyboard中创建转场,在代码中获取这些转场,并检索这些转场的目标 View Controller 。对我来说,这比使用 View Controller 标识符更简洁、更容易维护,例如 [[UIStoryboard storyboardWithName:@"Main"bundle:nil] instantiateViewControllerWithIdentifier:@"identifier"]

一个使用示例是实现 3D 触摸深压手势以查看并弹出 View Controller ,否则通过传统的 segue 访问该 View Controller 。

最佳答案

要以编程方式获取 segue,您可以使用以下代码,它将返回 segue 数组。

objective-c

NSArray *segueTemplates = [(UIStoryboardSegue *) self valueForKey:@"storyboardSegueTemplates"] ;
  for (UIStoryboardSegue *string in segueTemplates) {
    NSLog(@"%@", string.identifier);
  }

swift

let segueTemplates = self.valueForKey("storyboardSegueTemplates")

关于ios - 以编程方式获取 segue(和目标 View Controller )的任何方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053920/

相关文章:

ios - Objective-c 中的 NSURLSessionUploadTask 示例?

ios - 为 iOS 应用程序使用 CircleCI 工作流程

ios - 细节披露从自定义注释发送数据

iphone - 如何只为 UITableViewController 启用重新排序?

iphone - iPhone中使用NSData的内存泄漏问题

swift 4 : return false, 验证网络服务登录数据

ios - 在 UIScrollView 中调整 AVPlayer 的大小

objective-c - 登录 View Controller 最佳实践

ios - UITableViewCell 持有 UICollectionView 并点击集合单元格 segue

ios - 如何从不同层次的JSON对象中拉取数据