天天看點

iOS開發之儲存圖檔到手機相冊

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(60, 100, 200, 300)];
    _imageView.image = [UIImage imageNamed:@"hmt.jpg"];
    _imageView.userInteractionEnabled = YES;
    [self.view addSubview:_imageView];
    
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] init];
    tapGesture.numberOfTapsRequired = 1;
    tapGesture.numberOfTouchesRequired = 1;
    [tapGesture addTarget:self action:@selector(tapSaveImageToIphone)];
    [self.imageView addGestureRecognizer:tapGesture];

}

- (void)tapSaveImageToIphone{

    /**
     *  将圖檔儲存到iPhone本地相冊
     *  UIImage *image            圖檔對象
     *  id completionTarget       響應方法對象
     *  SEL completionSelector    方法
     *  void *contextInfo
     */
    UIImageWriteToSavedPhotosAlbum(self.imageView.image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
    
}

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{

    if (error == nil) {
    
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"已存入手機相冊" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];
        
    }else{
    
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"儲存失敗" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];
    }
    
}
           

@效果圖:

iOS開發之儲存圖檔到手機相冊
iOS開發之儲存圖檔到手機相冊

繼續閱讀