Ios Swift-UIImageView子类与手势-翻译不起作用
我正在Swift中对UIImageView进行子类化,并在其中添加了挤压、平移、缩放、旋转和轻触手势 我有一个基本的ViewController,其中添加了一个新的“PinchZoomImageView”作为子视图 一切都很好,除了当我更改子类视图的中心时平移手势稍微偏离外Ios Swift-UIImageView子类与手势-翻译不起作用,ios,swift,uiimageview,Ios,Swift,Uiimageview,我正在Swift中对UIImageView进行子类化,并在其中添加了挤压、平移、缩放、旋转和轻触手势 我有一个基本的ViewController,其中添加了一个新的“PinchZoomImageView”作为子视图 一切都很好,除了当我更改子类视图的中心时平移手势稍微偏离外 func handlePan(recognizer:UIPanGestureRecognizer) { let translation = recognizer.translationInView(self)
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)
}
平移图像并在屏幕上移动图像后,其边界将关闭
想法?解决了它
我没有通过视图的中心属性(view.center)移动视图,而是通过view.transform(translating translation.x,translation.y)移动视图,它直接作用于视图,而不是通过.center移动帧
func handlePan(识别器:UIPangestureRecognitor){
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)
}