UI13_数据解析之图片相关(UIActionSheet,UIImagePickerController, UINavigationController协议方法)
来源:互联网 发布:行为管理器软件 编辑:程序博客网 时间:2024/06/14 10:24
我们在进行图片解析的时候要用到的是第三方SDWebImage文件,引它里面的#import "UIImageView+WebCache.h".然后到设置里的选择Build Phases里选择Compile Sources里搜索里打sd出现的全选回车,在弹出的对话框内写入"-fobjc-arc",因为我们选择在是手动管理内存,这里我们进行修改 这里我们要播放gif图片所以也要引用sd里的"UIImage+GIF.h"的头文件 我们要用到UIActionSheet,UIImagePickerController, UINavigationController的协议内容 所以我们要签署它们三个的协议对用的是<UIActionSheetDelegate, UINavigationControllerDelegate,UIImagePickerControllerDelegate> 不用设置代理人
准备工作:我们在didLoad里建立一个图片
加载网络图片
[self.imageView sd_setImageWithURL:[NSURL URLWithString:@"http://v.juhe.cn/movie/picurl?2583084"]];
播放本地的gif的图片
self.imageView.image = [UIImage sd_animatedGIFNamed:@"01"];
下面我们要做的效果就是将本地里的图片加载到我们创建的图片视图位置
1.创建一个UIActionSheet
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"选取图像" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"从相册中选取", nil];
2.将创建的对象actionSheet添加到视图上(此处与以往不同)
[actionSheet showInView:self.view];
3.这个类的对应实现协议方法
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ NSLog(@"%ld",buttonIndex);//两个按钮一个是0一个是1 if (buttonIndex == 0) { UIImagePickerController *picker = [[UIImagePickerController alloc]init]; //切换方法模态和push 设置代理人 //这个地方很特殊,这个代理人执行两套协议,需要签订两个协议 picker.delegate =s elf; //允许进行编辑 picker.allowsEditing = YES; //让它显示出来,所用方法是模态. [self presentViewController:picker animated:YES completion:^{ }]; }}
4.为ImageView添加一个长按的shoushi
(1)打开ImageView的用户交互 self.imageView.userInteractionEnabled = YES;(2)创建长按对象 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)]; [self.imageView addGestureRecognizer:longPress]; [longPress release];(3)长按手势的触发方法 -(void)longPressAction:(UILongPressGestureRecognizer *)longPress{ //判断手势当前的状态,只有刚开始会保存图片 if(longPress.state == UIGestureRecognizerStateBegan) { //把图片写入到本地相册中 UIImageWriteToSavedPhotosAlbum(self.imageView.image, nil, nil, nil); } }
5.点击choose后,可以选中当前的图片,并且返回让图片显示在imageView上 UIImagePickerController协议实现方法
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ //隐藏的效果效果消失了,所以我们需要手动添加dismiss的方法,让相册消失 [self dismissViewControllerAnimated:YES completion:^{ }]; NSLog(@"%@",info); //从返回过来的字典对象info中提取image UIImagePickerControllerEditedImage UIImage *image = info[UIImagePickerControllerOriginalImage]; self.imageView.image = image; }
0 0
- UI13_数据解析之图片相关(UIActionSheet,UIImagePickerController, UINavigationController协议方法)
- iOS UI13_数据解析XML_,JSON
- 图片相关 UIActionSheet
- UIActionSheet更新数据的方法
- 视图之UINavigationController结构解析
- iOS开发之UIImagePickerController图片选择管理器
- iOS8中UIActionSheet弹出UIImagePickerController异常处理
- iPad中UIActionSheet弹出UIImagePickerController异常处理
- WebService之Soap协议数据解析篇
- UINavigationController相关
- UINavigationController相关
- UINavigationController相关
- 8-24 UINavigationController UIWebView UIAlertView UIActionSheet
- 不使用UIImagePickerController实现读取相册图片的方法
- iOS 获取图片的三种方法 UIImagePickerController
- UIImagePickerController之打开图片库和相机选择图片修改头像
- UI常用方法总结之 UINavigationController
- HTTP请求协议 get post方法 获取数据解析
- HDU 5410 CRB and His Birthday(DP)
- Introduction to Java Programming编程题6.20<经典八皇后难题>
- 萌滴宝贝 v1.3.6 安卓版
- 图结构练习——判断给定图是否存在合法拓扑序列 SDUT 2140
- [ActiveMQ实战]基于JMS的pub/sub传播机制
- UI13_数据解析之图片相关(UIActionSheet,UIImagePickerController, UINavigationController协议方法)
- 【软件工程】机房收费系统之图形回顾
- 二维数组
- C语言编程求“有多少个一?”
- 终于找到一点有关增量压缩的门了
- ACM括号配对问题
- 黑马程序员——ios基础---C语言:结构体、条件编译、文件操作
- 多校数论题-CRB and Candies
- hdoj 1242 Rescue