#import
"ViewController.h"
#import "UIImageView+WebCache.h" //用于网络图片
#import "UIImage+GIF.h"//用于gif图
@interfaceViewController ()<UIActionSheetDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate>
@property(nonatomic,retain)UIImageView *imageview;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.imageview = [[UIImageViewalloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
[self.viewaddSubview:self.imageview];
[_imageviewrelease];
self.imageview.backgroundColor = [UIColorcyanColor];
[self.imageviewsd_setImageWithURL:[NSURLURLWithString:@"http://v.juhe.cn/movie/picurl?2583181"]];
self.imageview.image = [UIImagesd_animatedGIFNamed:@"RHLL4QEX%XEF7412B]7S2@W"];
//创建一个
UIActionSheet *sheet = [[UIActionSheetalloc] initWithTitle:@"选择图片"delegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:nilotherButtonTitles:@"从相册选取", nil];
[sheet showInView:self.view];
//给image创建一个长按手势
self.imageview.userInteractionEnabled = YES; //长按手势必须写
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizeralloc] initWithTarget:selfaction:@selector(longPressAction:)];
[self.imageviewaddGestureRecognizer:longPress];
}
- (void)longPressAction:(UILongPressGestureRecognizer *)longPress{
//判断手势当前状态,只有刚开始会保存图片,防止同一张图片多次保存
if (longPress.state == UIGestureRecognizerStateBegan) {
//把图片写入到本地相册
UIImageWriteToSavedPhotosAlbum(self.imageview.image, nil, nil, nil);
}
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
NSLog(@"%ld", buttonIndex);
if (buttonIndex == 0) {
UIImagePickerController *picker = [[UIImagePickerControlleralloc] init];
//设置代理人
//这个代理人执行两套协议,需要签订两个协议
picker.delegate = self;
//允许编辑
picker.allowsEditing = YES;
//让他显示出来,用模态
[selfpresentViewController:picker animated:YEScompletion:^{
}];
}
}
#pragma mark 点击choose之后,可以选中当前的图片,并且返回让图片显示在imageView上
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"%@", info);
//隐藏的效果就取消了,所以呀我们需要手动添加dismiss的方法,让相册消失
[selfdismissViewControllerAnimated:YEScompletion:^{
}];
//从返回过来的字典对象info中提取image
UIImage *image = info[UIImagePickerControllerOriginalImage];//显示原有的图片
// UIImage *image = info[UIImagePickerControllerEditedImage];// 显示编辑之后的图片
self.imageview.image = image;
#import "UIImageView+WebCache.h" //用于网络图片
#import "UIImage+GIF.h"//用于gif图
@interfaceViewController ()<UIActionSheetDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate>
@property(nonatomic,retain)UIImageView *imageview;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.imageview = [[UIImageViewalloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
[self.viewaddSubview:self.imageview];
[_imageviewrelease];
self.imageview.backgroundColor = [UIColorcyanColor];
[self.imageviewsd_setImageWithURL:[NSURLURLWithString:@"http://v.juhe.cn/movie/picurl?2583181"]];
self.imageview.image = [UIImagesd_animatedGIFNamed:@"RHLL4QEX%XEF7412B]7S2@W"];
//创建一个
UIActionSheet *sheet = [[UIActionSheetalloc] initWithTitle:@"选择图片"delegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:nilotherButtonTitles:@"从相册选取", nil];
[sheet showInView:self.view];
//给image创建一个长按手势
self.imageview.userInteractionEnabled = YES; //长按手势必须写
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizeralloc] initWithTarget:selfaction:@selector(longPressAction:)];
[self.imageviewaddGestureRecognizer:longPress];
}
- (void)longPressAction:(UILongPressGestureRecognizer *)longPress{
//判断手势当前状态,只有刚开始会保存图片,防止同一张图片多次保存
if (longPress.state == UIGestureRecognizerStateBegan) {
//把图片写入到本地相册
UIImageWriteToSavedPhotosAlbum(self.imageview.image, nil, nil, nil);
}
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
NSLog(@"%ld", buttonIndex);
if (buttonIndex == 0) {
UIImagePickerController *picker = [[UIImagePickerControlleralloc] init];
//设置代理人
//这个代理人执行两套协议,需要签订两个协议
picker.delegate = self;
//允许编辑
picker.allowsEditing = YES;
//让他显示出来,用模态
[selfpresentViewController:picker animated:YEScompletion:^{
}];
}
}
#pragma mark 点击choose之后,可以选中当前的图片,并且返回让图片显示在imageView上
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"%@", info);
//隐藏的效果就取消了,所以呀我们需要手动添加dismiss的方法,让相册消失
[selfdismissViewControllerAnimated:YEScompletion:^{
}];
//从返回过来的字典对象info中提取image
UIImage *image = info[UIImagePickerControllerOriginalImage];//显示原有的图片
// UIImage *image = info[UIImagePickerControllerEditedImage];// 显示编辑之后的图片
self.imageview.image = image;
}