我有一个UIImageView对象,它全屏显示在屏幕的中心。我制作了一个动画,可以在相同的代码中执行缩放和翻译。这是源代码:
UIView.animate(withDuration: 1.0, animations: {
let originalTransform = self.idImageView.transform
let scaledTransform = originalTransform.scaledBy(x: 0.2, y: 0.2)
let scaledAndTranslatedTransform = scaledTransform.translatedBy(x: 100, y: 100)
self.idImageView.transform = scaledAndTranslatedTransform
}, completion: { (finished) in
self.animationCompeletedSuccessfully(finished)
})
我希望我的UIImageView移动到x = 100和y = 100的坐标,但是这个转换相对于它的中心移动100点。我怎样才能在窗口坐标系上翻译它? Apple Documentation of traslatedBy(x: , y:) 我已经阅读过这篇文章,但无法清楚地了解协作系统
答案 0 :(得分:1)
假设您的imageview
中心有x
,y
坐标和width
,height
。
您想要的目的地:destinationX
,destinationY
您的翻译将是:
destinationX - x + width/2
destinationY - y + height/2
请记住,如果您进行比例缩放,则width
和height
应乘以scaleRatio