縮放圖片 雙擊 雙指捏合

.h文件
#import<UIKit/UIKit.h>
@interface ScrollPhotoViewController : UIViewController {
   
   UIImage *image;
   IBOutlet UIImageView *imageView;
   IBOutlet UIScrollView *scroll;
}
@property (nonatomic, retain) UIImage *image;
@property (nonatomic, retain) UIScrollView *scroll;
@end

.m文件
#import" ScrollPhotoViewController.h"

@implementation ScrollPhotoViewController
@synthesize image,scroll;

-(void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
 
}

#pragma mark - Viewlifecycle

- (void)viewDidLoad{
   [super viewDidLoad];
   
   self.title = @"保存至相冊";
   UIBarButtonItem *uploadBarButton = [[UIBarButtonItem alloc]initWithTitle:@"保存"
                                                                       style:UIBarButtonItemStyleBordered
                                                                      target:self
                                                                      action:@selector(downLoad)];
   
   self.navigationItem.rightBarButtonItem =uploadBarButton;
   [uploadBarButton release];
   
   imageView.image = image;
   imageView.userInteractionEnabled = YES;
   
   self.scroll.minimumZoomScale = 0.5;
   self.scroll.maximumZoomScale = 3;
   self.scroll.showsVerticalScrollIndicator = NO;
   self.scroll.showsHorizontalScrollIndicator = NO;
   self.scroll.scrollsToTop = NO;
   self.scroll.userInteractionEnabled = YES;
   self.scroll.contentSize = CGSizeMake(imageView.image.size.width *3, imageView.image.size.height * 3);
   
   // IOS3.2才支持UITapGestureRecognizer
   UITapGestureRecognizer *gestureRecognizer =[[UITapGestureRecognizer alloc]
                                                initWithTarget:self
                                                action:@selector(imageViewPressed:)];
   imageView.tag = 101;
   gestureRecognizer.numberOfTapsRequired =2;             // 設置雙擊
   [imageViewaddGestureRecognizer:gestureRecognizer];
   [gestureRecognizer release];
}

-(void)imageViewPressed:(id)sender {

   CGFloat zs = self.scroll.zoomScale;
   zs = (zs == 1.0) ? 2.0 :1.0;             // 雙擊倍數
   
   [UIView beginAnimations:nil context:NULL];
   [UIViewsetAnimationDuration:0.3];         
   self.scroll.zoomScale =zs;   
   [UIView commitAnimations];
}

- (void)downLoad{
   
   [UIApplication sharedApplication].networkActivityIndicatorVisible =YES;
   // 保存至圖片庫
   UIImageWriteToSavedPhotosAlbum(image, nil, nil,nil);
   
   [self performSelector:@selector(finish) withObject:nilafterDelay:1];
  
}

- (void)finish{
   
   [UIApplication sharedApplication].networkActivityIndicatorVisible =NO;
   [StaticObj showMsg:@"圖片已保存至相冊"];
}

- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView{   
   
   //NSLog(@"viewForZoomingInScrollView");
   return imageView;
}

-(void)scrollViewDidEndZooming:(UIScrollView *)scrollViewwithView:(UIView *)view atScale:(float)scale {

   //NSLog(@"scrollViewDidEndZooming");
   CGFloat zs = scrollView.zoomScale;
   zs = MAX(zs,1.0);               // 捏合最小
   zs = MIN(zs,3.0);                // 捏合最大
   
   [UIView beginAnimations:nil context:NULL];
   [UIViewsetAnimationDuration:0.3];      
   scrollView.zoomScale =zs;   
   [UIView commitAnimations];
   
}

- (void)viewDidUnload{
   [super viewDidUnload];
}
@end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章