我正在尝试创建一个自定义UIView,当点击时,它将转换为新的视图控制器。我想以编程方式而不是在Interface Builder中执行此操作。当我这样做时,如何获得对目标视图控制器的引用?我假设我不只是创建一个并将其设置为下一个视图或其他东西,那么引用来自何处?因为当它在故事板中完成时你只需选择你希望segue作为目的地的位置,这不是问题所在,但是以编程方式我不明白该引用的来源。
我也是在Swift中这样做的。我认为这不会产生很大的影响,但它可能会改变一些东西。
我尝试使用添加了tapGestureRecognizer的UIView,然后在点击时执行segue,但是我收到了无法识别的选择器错误。
答案 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);