以编程方式从UIView执行Segue

时间:2014-12-01 07:45:02

标签: ios iphone cocoa-touch uiview

我正在尝试创建一个自定义UIView,当点击时,它将转换为新的视图控制器。我想以编程方式而不是在Interface Builder中执行此操作。当我这样做时,如何获得对目标视图控制器的引用?我假设我不只是创建一个并将其设置为下一个视图或其他东西,那么引用来自何处?因为当它在故事板中完成时你只需选择你希望segue作为目的地的位置,这不是问题所在,但是以编程方式我不明白该引用的来源。

我也是在Swift中这样做的。我认为这不会产生很大的影响,但它可能会改变一些东西。

我尝试使用添加了tapGestureRecognizer的UIView,然后在点击时执行segue,但是我收到了无法识别的选择器错误。

1 个答案:

答案 0 :(得分:1)

如果你在故事板中声明你的UIViewController,你必须设置它的Storyboard Id,然后,你可以使用这样的东西(没有运行它,但在obj-c中完全相同,所以我认为它会做得很好):

let storyboard : UIStoryboard = UIStoryboard(name: "myStoryboardName", bundle: nil);
let vc : MyUIViewController = storyboard.instantiateViewControllerWithIdentifier("myVCStoryboardID")     as MyUIViewController;
self.presentViewController(vc, animated: true, completion: nil);