私は右から左にアニメーションを持つviewcontrollerをもたらすカスタムセグを実装しようとしています。問題は、必要なコントローラにセグを実行するためにボタンを押したときにアプリがクラッシュすることです。次のエラーが表示されます。左から右へのアニメーションのついたもの
Could not create a segue of class '(null)'
私はどのように実装しましたか? 私は新しいクラスを作成し、次のコードを実行する関数をオーバーライド:私はカスタムセグエ(私のCustomTransitionクラスによって生成されたものを使用して結ばUIButtoonを持っている私のストーリーボードで
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)
}
)
}
}
)。アプリを実行してボタンをタップすると、私のアプリは上記のエラーでクラッシュします。なぜクラッシュするのか分かりません。私が見つけたウェブ上のすべての記事は、私がそれを実装した方法に似ています。
navigationController何ですか?あなたのsourceVCはUINavigationControllerでなければなりませんか?ソースと宛先が元の質問のような2つの通常のUIViewControllerの場合はどうなりますか? – Cindeselia
@Cindeseliaあなたは 'sourceVC.navigationController'プロパティからナビゲーションコントローラにアクセスできます。 – Astoria