实现SwiftyCam焦点动画-Swift
每当我点击屏幕聚焦时,我都会尝试实现一个动画。 我正在使用这个GitHub存储库: 我的实现的问题是,动画不是以作为参数传递给函数的中心为中心,而是在屏幕左上角播放动画实现SwiftyCam焦点动画-Swift,swift,animation,avfoundation,uiviewanimation,Swift,Animation,Avfoundation,Uiviewanimation,每当我点击屏幕聚焦时,我都会尝试实现一个动画。 我正在使用这个GitHub存储库: 我的实现的问题是,动画不是以作为参数传递给函数的中心为中心,而是在屏幕左上角播放动画 func swiftyCam(_ swiftyCam: MyCameraViewController, didFocusAtPoint point: CGPoint) { focusAnimationAt(point) } fileprivate func focusAnimationAt(_ poin
func swiftyCam(_ swiftyCam: MyCameraViewController, didFocusAtPoint point: CGPoint) {
focusAnimationAt(point)
}
fileprivate func focusAnimationAt(_ point: CGPoint) {
let focusView = UIImageView(image: #imageLiteral(resourceName: "focusImage"))
focusView.translatesAutoresizingMaskIntoConstraints = false
focusView.heightAnchor.constraint(equalToConstant: 40).isActive = true
focusView.widthAnchor.constraint(equalToConstant: 40).isActive = true
focusView.center = point
focusView.alpha = 0.0
view.addSubview(focusView)
UIView.animate(withDuration: 0.25, delay: 0.0, options: .curveEaseInOut, animations: {
focusView.alpha = 1.0
focusView.transform = CGAffineTransform(scaleX: 1.25, y: 1.25)
}) { (success) in
UIView.animate(withDuration: 0.15, delay: 0.5, options: .curveEaseInOut, animations: {
focusView.alpha = 0.0
focusView.transform = CGAffineTransform(translationX: 0.6, y: 0.6)
}) { (success) in
focusView.removeFromSuperview()
}
}
}