2013-03-11 103 views
0

首先,我想確切地說,似乎有很多關於此主題的問題沒有迴應。得到這個答案的人應該很少見。啓用UIScrollView縮放重置縮放視圖轉換的縮放

我在UIScrollView子類中設置了一個UIImageView作爲放大視圖。

- (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

它可能聽起來有點Hack'ish,但我會嘗試做的是將imageView嵌入到將由viewForZoomingInScrollView調用返回的UIView中。

這樣,imageView將保留它的旋轉變換,而它的超級視圖將被放大或縮小。

我傾向於避免在UIKit內部做出什麼假設