我有一個UIImageView在UIScrollview。我使用了Apple的docs中的說明。UIImageView在UIScrollView,縮放是不安的
我設置了最小和最大縮放比例。 (0.5和6.0)。我將代表設置爲self。
我在viewForZoomingInScrollView中返回了圖像視圖。但是我不知道該怎麼做scrollViewDidEndZooming。
我遇到的結果是一個抖動縮放,並不一致。它只是不像照片庫應用程序。
我錯過了什麼嗎?
我有一個UIImageView在UIScrollview。我使用了Apple的docs中的說明。UIImageView在UIScrollView,縮放是不安的
我設置了最小和最大縮放比例。 (0.5和6.0)。我將代表設置爲self。
我在viewForZoomingInScrollView中返回了圖像視圖。但是我不知道該怎麼做scrollViewDidEndZooming。
我遇到的結果是一個抖動縮放,並不一致。它只是不像照片庫應用程序。
我錯過了什麼嗎?
這是唯一的解決方案,我發現工作完美無瑕。它包括雙擊和兩個手指手勢來放大和縮小。 http://www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content
//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文件中
希望它能對您有用...
變焦工程進展順利,但圖像有時運行時間超過,而我認爲這是因爲滾動視圖的泛權:當你有像做這樣的準備設置開始縮放比例。當我放大更多時,平底鍋有時會干擾變焦和平底鍋。我應該完全消除scrollview並在imageview上實現平移手勢嗎?無論如何,有沒有辦法讓它像ios上的照片應用一樣?謝謝 – Madhu
您還可以爲scrollview設置最大和最小比例屬性以獲取更多信息,請點擊此處查看[http://navaneethant.wordpress.com/2010/06/30/zooming-and-scrolling-in-uiscrollviewiphone-application /) – Alex
將您的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;
非常感謝,它解決了我的問題。我正在使用contentMode比例來適應哪些導致了不安的效果。 –
接受你的答案,以便將來幫助他人。 –