1
このトピックについては、多くの優れた回答がありますが、これは私には混乱しています。複数のカスタムアニメーションが同期していない
2つのコメントアウトされた行が正しく動作しないようです。私はこのカスタムセグをスライドと縮小の両方にしたいので、効果はfromVC
が何も消えることなく、toVC
は底から何も届きません。
ただし、両方を同時に実行しようとすると失敗します。個別に細かく(ズームまたはスライド)動作させるが、一緒に使用することはできない。
class UnwindScaleSegue: UIStoryboardSegue {
override func perform() {
scaleDown()
}
func scaleDown() {
let toVC = self.destination
let fromVC = self.source
let screenHeight = UIScreen.main.bounds.size.height
toVC.view.transform = CGAffineTransform.init(translationX: 0.0, y: screenHeight)
//toVC.view.transform = CGAffineTransform(scaleX: 0.001, y: 0.001)
fromVC.view.superview?.insertSubview(toVC.view, at: 0)
UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseInOut, animations: {
//fromVC.view.transform = CGAffineTransform(scaleX: 0.001, y: 0.001)
fromVC.view.transform = CGAffineTransform.init(translationX: 0.0, y: -screenHeight)
toVC.view.transform = CGAffineTransform.identity
}, completion: { success in
fromVC.dismiss(animated: false, completion: nil)
})
}
}