2012-10-23 81 views
1

如何使用UIPinchGestureRecognizer通過變換(基於現有變換,圖層的當前狀態)來縮放CALayer?使用UIPinchGestureRecognizer來縮放圖層

- (IBAction)gesturePinch:(UIPinchGestureRecognizer *)sender 
{ 
    float scale = sender.scale; 

    scale = scale - previousScale; 
    previousScale = scale; 


    layer.transform = CATransform3DScale(square.transform, scale, scale, scale); 

} 

因爲規模在增加,所以規模很大或很小。有什麼建議麼?

回答

2

這是更好地處理規模是這樣的:

layer.transform = CATransform3DScale(square.transform, sender.scale, sender.scale, sender.scale); 
sender.scale = 1.f; 

這將每次重新設置,使得需要計算它走開。您將失去速度計算,但我認爲您無論如何都不會使用它們。

相關問題