[英]Using 2 UIPinchGestureRecognizers on the same UIImageView
我有一個圖像視圖,我想在不保持縱橫比的情況下進行縮放以重新縮放。 為了做到這一點,我認為這可能是可行的:
這是我的捏處理 function:
- (void) pinch:(UIPinchGestureRecognizer *)recognizer {
static CGRect initialBounds;
if (recognizer.state == UIGestureRecognizerStateBegan)
{
initialBounds = imageView.bounds;
}
CGFloat factor = [(UIPinchGestureRecognizer *)recognizer scale];
//scale horizontally
CGAffineTransform zt = CGAffineTransformScale(CGAffineTransformIdentity,
factor-(1.0-factor), 1.0);
imageView.bounds = CGRectApplyAffineTransform(initialBounds, zt);
//now scale vertically
zt = CGAffineTransformScale(CGAffineTransformIdentity, 1.0, factor);
imageView.bounds = CGRectApplyAffineTransform(initialBounds, zt);
return;
}
由於某種原因,轉換僅在垂直方向進行(最后一個)。 我嘗試將第二個 CGRectApplyAffineTransform 的第一個參數更改為 imageView.bounds,但仍然沒有用。
誰能告訴我哪里出錯了?
此外,當使用兩個捏合手勢識別器時,會發生同樣的事情——實際上只有其中一個被識別出來。
謝謝!
您的第二個以 CGAffineTransformIdentity 開始。 相反,傳入 zt。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.