2015-12-02 64 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") 
相關問題