【发布时间】:2016-09-30 10:55:27
【问题描述】:
我正在尝试实现一个自定义 segue,它将带动画的视图控制器从右到左。问题是当我按下按钮以执行对所需控制器的 segue 时,我的应用程序崩溃了。我收到以下错误:
无法创建类 '(null)' 的转场
我是如何实现它的? 我创建了一个新类并使用以下代码覆盖了 perform 函数:
import UIKit
class CustomTransition: UIStoryboardSegue {
override func perform()
{
let src = self.source
let dst = self.destination
src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
dst.view.transform = CGAffineTransform(translationX: -src.view.frame.size.width, y: 0)
UIView.animate(withDuration: 0.25,
delay: 0.0,
options: UIViewAnimationOptions.curveEaseInOut,
animations: {
dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
},
completion: { finished in
src.present(dst, animated: false, completion: nil)
}
)
}
}
在我的故事板中,我有一个 UIButton,我使用自定义 segue(由我的 CustomTransition 类生成的那个)绑定它。当我运行应用程序并点击按钮时,我的应用程序崩溃并出现上面发布的错误。我不明白为什么它会崩溃。我在网上找到的每一篇文章都与我实现它的方式相似。
【问题讨论】:
标签: ios xcode segue swift3 uistoryboardsegue