我在Swift中将UIImageView子类化,并在其中添加捏,平移,缩放,旋转和点击手势。
我有一个基本的ViewController,并添加了一个新的“PinchZoomImageView”作为子视图。
一切工作正常,但当我更改子类化视图的中心时,“平移手势翻译”略有关闭。
func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self)
if let view = recognizer.view {
view.center = CGPoint(x:view.center.x + translation.x, y:view.center.y + translation.y)
}
recognizer.setTranslation(CGPointZero, inView: self)
}
平移图像并在屏幕上移动图像后,其边界已关闭。
有想法吗?
最佳答案
解决了!
与其通过视图的center属性(view.center)移动视图,不如通过view.transform(翻译translation.x,translation.y)直接将其移动,而不是通过.center框架来移动它。
func handlePan(recognizer:UIPanGestureRecognizer){
let translation = recognizer.translationInView(recognizer.view)
if let view = recognizer.view {
view.transform = CGAffineTransformTranslate(view.transform, translation.x, translation.y)
}
recognizer.setTranslation(CGPointZero, inView: self)
}
关于ios - Swift-具有手势的UIImageView子类-翻译不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32344708/