【发布时间】:2015-11-03 00:50:20
【问题描述】:
我正在尝试创建自定义转场。它在第一次不起作用。后来我通过创建一个扩展 UIStoryboardSegue 的新文件并创建一个名为“perform”的方法找到了解决方案。它现在可以在不使用 ViewController 中的 prepareSegue 的情况下工作。我已将之前的代码从preparedSegue 复制到新UIStoryboardSegue 文件中的“Perform”函数。它打印出消息,但委托不起作用。
视图控制器
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
自定义转场
class CustomSegue: UIStoryboardSegue {
let transitionManager = TransitionManager()
override func perform() {
NSLog("Perform");
let toViewController = self.destinationViewController as UIViewController
toViewController.transitioningDelegate = self.transitionManager
}
}
我在转换管理器的每个函数中都放置了断点,它们都没有执行和停止。
转场设置:
问题:TransitioningDelegate 不工作
完整源代码:here
【问题讨论】:
标签: ios objective-c iphone delegates segue