我有这段代码应该给mainView的弹簧效果。查看动画无效 - ios Swift 3
但是我没有得到想要的效果,我只通过Storyboard获得应用于ViewController的Transition样式。
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)
}
你可以请求帮助获得对mainView的弹簧效果吗?
谢谢
在'viewDidAppear'不'viewDidLoad'开始动画。在'viewDidLoad'中,该视图还不可见,并且不能生成动画。 – Sulthan
只需在你的'UIView.animate'区块内调用'view.layoutIfNeeded()' –
@Sulthan不错!谢谢! –