Apple API文档表明不推荐使用segueForUnwindingToViewController()
,我应该使用unwindForSegue()
代替自定义segue。我找到this post但他们似乎仍然使用" segueForUnwindingToViewController()"。
我不确定如何正确使用unwindForSegue()
因为segueForUnwindingToViewController()
采用了以下参数
并返回" UIStoryBoardSegue"。 E.g。
override func segueForUnwindingToViewController(toViewController: UIViewController, fromViewController: UIViewController, identifier: String?) -> UIStoryboardSegue? {
return MyCustomSegue(identifier: identifier!, source: fromViewController, destination: toViewController, performHandler: { () -> Void in } )
}
如何使用新的unwindForSegue()
?
答案 0 :(得分:5)
嗯,这并不像看起来那么难。我认为设置自定义segue的方法很少。
<强>先决条件:强>
重要,您不需要在非容器的自定义视图控制器中覆盖此方法
单向,您可以在故事板中选择segue并将其设置为您的segue类(例如, CustomSegue )
Example where to set custom segue class
另一种方式,您可以从此方法创建segue并简单地执行它。例如,
- (void)unwindForSegue:(UIStoryboardSegue *)unwindSegue towardsViewController:(UIViewController *)subsequentVC {
CustomSegue *segue = [[CustomSegue alloc] initWithIdentifier:<#Segue Identifier#> source:unwindSegue.sourceViewController destination:unwindSegue.destinationViewController];
[segue perform];
}
两种方法都能正常工作。希望这对你有所帮助。
<小时/> P. S.您可以尝试这个测试项目(Xcode 7.3) - https://github.com/igorkislyuk/custom-animation-unwind-segue