私はmainViewにスプリング効果を与えるはずのこのコードを持っています。アニメーションを表示できません - ios Swift 3
しかし、私は望ましい効果を得ることはありません、私はストーリーボード経由でのViewControllerに適用されるトランジションのスタイルを取得します。
override func viewDidLoad()
{
super.viewDidLoad()
self.statusBarHidden = UIApplication.shared.isStatusBarHidden
UIApplication.shared.setStatusBarHidden(true, with: .none)
self.mainView = UIView(frame: CGRect(x: self.view.getWidth/20, y:self.view.getHeight/6, width:self.view.getWidth/1.3 , height: self.view.getHeight/1.3))
self.mainView.backgroundColor = UIColor.blue
self.mainView.center.x = self.view.center.x
self.mainView.center.y = self.view.center.y
self.mainView.transform = CGAffineTransform(scaleX: 0.8, y: 1.2) // initial view distorted scale so it has a starting point for the animation
self.view.addSubview(self.mainView)
UIView.animate(withDuration: 0.3, delay: 0, usingSpringWithDamping: 0.5, initialSpringVelocity: 0, options: [], animations: {
self.mainView.transform = .identity // get back to original scale in an animated way
}, completion: nil)
}
springViewをmainViewに登録する際に助けてください。
ありがとう
スタートアニメーションを。 'viewDidLoad'では、ビューはまだ表示されておらず、アニメートできません。 – Sulthan
'UIView.animate'ブロック内で' view.layoutIfNeeded() 'を呼び出すだけです。 –
@Sulthan nice catch!ありがとう! –