swift - 在修复屏幕坐标上动画时转换UIImageView
问题描述:
我有一个UIImageView对象,它位于屏幕全屏*。我制作了一个动画,以相同的代码执行缩放和翻译。这里是源代码:swift - 在修复屏幕坐标上动画时转换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:) 我已阅读这一个,但不能清楚地了解有关合作ordiante系统
答
比方说,你imageview
中心有x
,y
坐标和width
,height
。 你想要的目的地:destinationX
,destinationY
你的翻译是:
- 用x:
destinationX - x + width/2
- 由y:
destinationY - y + height/2
请记住,如果你做的规模,你width
和height
应该乘以scaleRatio
谢谢回复。这部分工作。我不知道为什么。它正在将我的观点转移到预期点附近。我不明白你的最后一行。你能解释一下吗? –
你的情况是'destinationX - x + width/2 * 0.2'和'y'相同 –
请编辑你的代码如何实现它,然后我可以帮助你 –