我有一个可以在屏幕上拖动的图像视图,我添加了一个滑块来更改图像视图大小并且它可以工作,但是当我改变大小时,图像视图总是返回到原始位置,并且它不再在我拖的地方,有什么不对的?这是我改变大小的代码
- (IBAction)sizePhoto:(UISlider *)sender {
[_imagen1 setTransform:CGAffineTransformMakeScale(sender.value, sender.value)];}
这就是我拖动图片的方式
CGPoint translation = [recognizer translationInView:_photo];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:_photo];
这就是我旋转图像的方式
recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0;
答案 0 :(得分:0)
这个想法是将当前变换与变化结合起来,因此它保留了用户已经完成的工作。您可以在旋转时正确执行此操作。用比例做同样的事情:
_imagen1.transform = CGAffineTransformScale(_imagen1.transform, scaleFactor, scaleFactor);
答案 1 :(得分:0)
// pass your slider value: below code
CGFloat scale = slider.value;
CGAffineTransform theTransform = CGAffineTransformMakeScale(scale, scale);
myImageView.transform = theTransform;