2012-01-13 30 views
0

所以我已經加載了一個UIImageView並有一個PinchGestureRecognizer,現在的問題是如何檢測UIImageView的大小是否小於原始大小(在它之前捏)?我現在這樣做的方式是這樣的:檢查UIImageView的大小是小於原始的時候捏

- (IBAction)resizeImage:(UIPinchGestureRecognizer *)sender 
{ 
    UIImageView * imgView = (UIImageView *)[fullSizeImageView.subviews objectAtIndex:0]; 

    sender.view.transform = CGAffineTransformScale(sender.view.transform, sender.scale, sender.scale); 

    NSLog(@"SCALE IS %f WITH STATE %d", sender.scale, sender.state); 
    if (imgView.frame.size.width < oriWidth && imgView.frame.size.height < oriHeight) { 
     //then it's size is smaller than original 
    } 
} 

我不知道是否有更好的方法來做到這一點?

回答

1

由於您只是基於UIPinchGestureRecognizer的縮放比例來縮放UIImageView,所以不會比例值< 1.0是否意味着UIImageView比原來小?

+0

但這也意味着如果我縮放到2倍然後我停在1.5,那仍然會檢測到圖像更小..雖然它不是 – aherlambang 2012-01-13 03:34:48

+0

如果您只縮放圖像視圖並且永不旋轉它,則發送者.view.transform.a'和'sender.view.transform.d'(即變換矩陣的兩個對角元素)應該都等於已經應用到視圖的累積比例因子。所以請嘗試檢查其中一個值是否小於1.0。即使你已經做了多次捏,我也很確定它應該可以工作。 – UIAdam 2012-01-13 05:09:09