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中心有xy坐标和widthheight。 你想要的目的地:destinationXdestinationY

你的翻译是:

  • 用x:destinationX - x + width/2
  • 由y:destinationY - y + height/2

请记住,如果你做的规模,你widthheight应该乘以scaleRatio

以上是 swift - 在修复屏幕坐标上动画时转换UIImageView 的全部内容, 来源链接: utcz.com/qa/259908.html

回到顶部