0

首先,我想明确一点,关于这个主题似乎有很多问题没有回应。得到这个答案的人应该很少见。

我将一个设置UIImageView为子类中的缩放视图UIScrollView

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return self.imageView;
}

就在self.imageView创建之后,我在它上面应用了一个 CGAffineTransform,它的矩阵从:

(CGAffineTransform) $0 = {
  (CGFloat) a = 1
  (CGFloat) b = 0
  (CGFloat) c = 0
  (CGFloat) d = 1
  (CGFloat) tx = 0
  (CGFloat) ty = 0
}

(CGAffineTransform) $2 = {
  (CGFloat) a = 0
  (CGFloat) b = 1
  (CGFloat) c = -1
  (CGFloat) d = 0
  (CGFloat) tx = 0
  (CGFloat) ty = 0
}

在多次调用- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 委托方法后,转换矩阵self.imageView从:

(CGAffineTransform) $6 = {
  (CGFloat) a = 0
  (CGFloat) b = 1
  (CGFloat) c = -1
  (CGFloat) d = 0
  (CGFloat) tx = 0
  (CGFloat) ty = 0
}

(CGAffineTransform) $7 = {
  (CGFloat) a = 0.130719
  (CGFloat) b = 0
  (CGFloat) c = 0
  (CGFloat) d = 0.130719
  (CGFloat) tx = 0
  (CGFloat) ty = 0
}

如您所见,0.130 是我的缩放比例,但我的旋转变换消失了。
我正在寻找一种方法来保持 self.imageView 上的旋转。

非常感谢您的帮助。

4

1 回答 1

4

这可能听起来有点 Hack'ish 但我会尝试将 imageView 嵌入 UIView 中,该 UIView 将由 viewForZoomingInScrollView 调用返回。

这样,imageView 将保留它的旋转变换,而它的 superview 将被放大或缩小。

我倾向于避免对 UIKit 内部的功能做出假设

于 2013-03-11T17:55:11.283 回答