2015-12-02 67 views
2

有没有什么办法可以在-[UIViewController performSegueWithIdentifier:sender:]以外以编程方式获取storyboard中创建的segue?以任何方式通过编程获取segue(和目标视图控制器)?

理想情况下,我希望能够在storyboard中创建segues,在代码中获取这些segues,并检索这些segues的目标视图控制器。对我来说,这比使用视图控制器标识符要简单一些,比如[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"identifier"]

一个使用的例子是实现一个3D触摸深度按压手势,以窥视一个视图控制器,该视图控制器通过传统的segue访问。

+1

的塞格斯不着手创建,直到调用'performSegueWithIdentifier:'所以算不上什么来获取。 – dan

回答

1

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

目标C

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

斯威夫特

let segueTemplates = self.valueForKey("storyboardSegueTemplates") 
相关问题