2013-06-25 61 views
1

我有一個UIImageView在UIScrollview。我使用了Apple的docs中的說明。UIImageView在UIScrollView,縮放是不安的

我設置了最小和最大縮放比例。 (0.5和6.0)。我將代表設置爲self。

我在viewForZoomingInScrollView中返回了圖像視圖。但是我不知道該怎麼做scrollViewDidEndZooming。

我遇到的結果是一個抖動縮放,並不一致。它只是不像照片庫應用程序。

我錯過了什麼嗎?

回答

2
//create imageview with pinchGesture 

     CGRect myImageRect = CGRectMake(17, 95, 285, 130); 
     myImage = [[UIImageView alloc] initWithFrame:myImageRect]; 
     [myImage setImage:[UIImage imageNamed:picture]]; 
     myImage.userInteractionEnabled = YES; 
     UIPinchGestureRecognizer *pgr = [[UIPinchGestureRecognizer alloc] 
             initWithTarget:self action:@selector(handlePinch:)]; 
     pgr.delegate = self; 
     [myImage addGestureRecognizer:pgr]; 
     [scrollview addSubview:myImage]; 

// handlepinch:方法

- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer 
{ 
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale); 
recognizer.scale = 1; 
} 

在此之前,加在.h文件中

希望它能對您有用...

+0

變焦工程進展順利,但圖像有時運行時間超過,而我認爲這是因爲滾動視圖的泛權:當你有像做這樣的準備設置開始縮放比例。當我放大更多時,平底鍋有時會干擾變焦和平底鍋。我應該完全消除scrollview並在imageview上實現平移手勢嗎?無論如何,有沒有辦法讓它像ios上的照片應用一樣?謝謝 – Madhu

+0

您還可以爲scrollview設置最大和最小比例屬性以獲取更多信息,請點擊此處查看[http://navaneethant.wordpress.com/2010/06/30/zooming-and-scrolling-in-uiscrollviewiphone-application /) – Alex

1

將您的ImageView縮放contentMode設置爲UIViewContentModeCenter,並在加載時縮小(如果需要)。

 //Min scale is how much ever it takes to fit the image in the view 
     CGRect scrollViewFrame = self.scrollView.frame; 
     CGFloat scaleWidth = scrollViewFrame.size.width/self.imageView.image.size.width; 
     CGFloat scaleHeight = scrollViewFrame.size.height/self.imageView.image.size.height; 
     CGFloat minScale = MIN(scaleWidth, scaleHeight); 
     self.scrollView.minimumZoomScale = minScale; 
     self.scrollView.zoomScale = minScale; 
+1

非常感謝,它解決了我的問題。我正在使用contentMode比例來適應哪些導致了不安的效果。 –

相關問題