まず、この件に関しては多くの質問があり、回答がないように思われることを正確に述べたいと思います。この答えを得る人はまれなはずです。
サブクラス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で回転を維持する方法を探しています。
どうもありがとうございました。