在實作圖片的縮放與移動中,通常第一個聯想到的就是使用 UIGestureRecognizer 手勢識別物件來實作,透過強大的 UIGestureRecognizer 物件來辨識手勢操作並且實作對應的動作,但是如果只是想要實作圖片的移動與縮放,其實大可不必這麼麻煩,透過 UIScrollView 來實作此效果,反而更快且更有效率,因為在 UIScrollView 的定義中早就已經將 UIPanGestureRecognizer 與 UIPinchGestureRecognizer 做好對應的互動,我們只要借用 <UIScrollViewDelegate> 協定就可以完成此效果。
實作方法
在實做縮放之前,首先要先把 <UIScrollViewDelegate> 協定加入目前實作的類別中當中。
@interface MLViewController : UIViewController <UIScrollViewDelegate>
接著設定 UIScrollView 的縮放比例限制,與實作協定的目標類別。
//設定比例限制、實作協定的類別
[myScrollView setMaximumZoomScale:3.0];
[myScrollView setMinimumZoomScale:0.5];
[myScrollView setDelegate:self];
//加入圖片
UIImageView *myImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"3Dlogo.png"]];
[myScrollView addSubview:myImageView];
最後,我們實作 <UIScrollViewDelegate> 協定中的 viewForZoomingInScrollView: 方法函式,回傳一個縮放結果的 UIView 即可。
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return [[scrollView subviews]objectAtIndex:0];
}
相關文章
原來讓圖片移動和縮放這麼簡單就可以做到!
回覆刪除感謝淺顯易懂的教學~
不客氣︿︿
刪除受教了
回覆刪除不客氣
刪除怎麼新增多個UIGestureRecognizer?
回覆刪除請看這篇:
刪除手勢辨識 UIGestureRecognizer 物件
http://furnacedigital.blogspot.tw/2012/06/uigesturerecognizer.html
How to register a casino site in Kenya
回覆刪除Betting sites are a great way to find new players who william hill want to 카지노 play casino games for real money and prizes! Here's an easy step-by-step guide to how to 11bet register