UIScrollView缩放从UIImageView中删除转换

时间:2015-10-23 23:09:53

标签: ios objective-c uiscrollview uiimageview rotation

我有以下代码,允许用户通过按下按钮在屏幕上旋转图像。

void (DerivedType::*)(call_status_s*)

此图像位于UIScrollView内部,使用户可以放大照片。问题是当用户缩放时,重置变换。我可以存储变换的值,然后在缩放后重新应用它,但图像看起来好像是在旋转版本和非旋转版本之间反弹。

有没有办法在缩放过程中保持变换?

以下是scrollview的代码

self.imageView.transform = CGAffineTransformRotate(self.imageView.transform, rotationAmount);

2 个答案:

答案 0 :(得分:3)

  

问题是当用户缩放时,重置转换

因为是缩放的。它是对图像应用缩放变换。该比例变换正在取代您的旋转变换。

您可以尝试实施zoom委托方法,以便在用户缩放时反复重新应用旋转变换。但请记住相对于比例变换应用它,否则您将失去缩放。

答案 1 :(得分:2)

我应该在很久以前提出这个问题,而不是仅仅评论马特的答案,对不起。

正如Matt所说,UIScrollView通过操纵其内容视图的transform属性来实现它的魔力(缩放和平移)。如果您尝试在同一个UIView上操作transform属性,那么您将破坏scrollView的工作。您需要在视图层次结构中的不同级别应用旋转,请考虑旋转scrollView本身。最好