私は正しく動作するカスタムアニメーションを作成したので、上からビューコントローラを追加しようとしています。しかし、追加されているビューコントローラの背景色は黒に設定されています。ここでは、透明にしたいので、下のビューコントローラを表示することができます。ここでSwift - 新しいViewControllerを追加している間にUIViewControllerを可視にします。(self.present経由で)
は、カスタムアニメーションを追加するためのコードです:
let vc = Global.sharedInstance.storyboard.instantiateViewController(withIdentifier: "AnimationViewControllerID") as! AnimationViewController
vc.view.backgroundColor = UIColor.clear
vc.personName = name
let begin = CGRect(x: 0, y: -vc.view.frame.height, width: vc.view.frame.width, height: vc.view.frame.height)
let end = CGRect(x: 0, y: 0, width: vc.view.frame.width, height: vc.view.frame.width)
self.present(vc, animated: false) {() -> Void in
vc.view.frame = begin
vc.view.alpha = 0.5
vc.view.backgroundColor = UIColor.clear
UIView.animate(withDuration: 1, animations: {() -> Void in
vc.view.frame = end
},
completion: nil)
}
私はクリアするためにView Controllerの背景色を設定するが、それでも、それは背景を透明にすることではないです試してみました。
この手法(アニメーションで提示した後、プレゼンテーションが行われた後、アニメーション)限定されている(あなたが作ることができない、それインタラクティブ;外観メソッド 'viewDidAppear'が間違っている時に呼び出され、など) 。あなたが望むのはカスタムトランジションです。 'present'経由のカスタムトランジションの例については、https://stackoverflow.com/a/42213998/1271826またはhttps://stackoverflow.com/a/45764323/1271826を参照してください。 – Rob
@Rob情報のおかげでサー。 –