2013-03-11 6 views
0

Во-первых, я хотел бы уточнить, что, похоже, есть много вопросов по этому вопросу без ответа. Тот, кто получает этот ответ, должен быть редок.Включить масштабирование UIScrollView свернуть преобразование увеличенного изображения

Я установил 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

Возможно, это звучит немного хаки, но я попытался бы вставить изображение в UIView, которое будет возвращено вызовом viewForZoomingInScrollView.

Таким образом, изображениеView сохранит преобразование вращения, в то время как надстройка будет увеличена или уменьшена.

Я стараюсь избегать предположений о том, что делает UIKit внутренне

Смежные вопросы