在开发中图片浏览遇到的一些简单问题
2016-01-02 23:40
148 查看
在开发中图片浏览遇到的一些简单问题
由于在项目中已经用到了一个第三方框架(MJPhotoBrowser)做图片浏览了,所以就使用了这个框架来做图片的浏览功能.项目需求
单击图片放大(只可以浏览单张图片)增加删除按钮
怎么使用MJPhotoBrowser框架做图片浏览
代码块
NSMutableArray *photoA = [NSMutableArray array]; [photoA removeAllObjects];//之所以清除,是保证浏览时只有一张图片,如果是要浏览多张图片则不要清除数组 MJPhoto *photo = [[MJPhoto alloc] init]; photo.image = imageView.image;//设置图片 photo.url = nil;//设置图片的URL,下载图片 photo.srcImageView = nil;//设置每个图片从大图缩放为小图的图片 [photoA addObject:photo];//把MJPhoto对象添加到数组中 MJPhotoBrowser *browser = [[MJPhotoBrowser alloc] init]; self.brower = browser;//设置为属性方便在其他地方取得,该对象的属性进行修改 browser.currentPhotoIndex = 0; // 弹出相册时显示数组中的哪个图片,0则显示第一张 browser.photos = photoA; // 设置所有的图片 browser.isShowSaveButton = NO;//是否显示保存按钮,进行保存操作 browser.isShowDeleButton = YES;//设置删除按钮 [browser show];//显示图片 browser.delegate = self;
遇到的问题
MJPhotoBrowser在做图片浏览是,把显示图片view添加到window上,所以要增加删除按钮必须在框架内部添加,并且监听删除按钮的点击事件,点击删除按钮需要做两件事情,一是隐藏显示图片的view,二是发送消息给控制器,删除图片的消息.在初期是使用通知的方法,但是控制器是的监听者,在什么位置监听并不好把握,会因为一些操作一些问题.例如造成一次删除两个图片,或者删除时会不知道什么时候会一直显示在删除(但是这时图片已经被删除掉了),后来改为用代理的方法来实现,虽然麻烦了点,但是实现了需求.在从图片浏览时,做了删除操作,回到原视图时,不能把默认图添加到原来视图中,所以就把MJPhotoBrowser成为了控制器的属性,删除之后,修改缩略图为默认图片.
在设置默认图时,请求服务器数据成功后,最好设置一个延迟0.3 - 0.5.
相关文章推荐
- 初学C++类比java语法复杂
- 安装交叉编译工具,执行arm-linux-gcc–v命令出现提示找不到该文件或目录?解决方法
- 动画封装三:单条样式的缓动运动
- 送东阳马生序
- static & extern 修饰函数
- 摄像头驱动0V7725学习笔记连载(三):0V7725 SCCB时序的实现
- 替换字符串中的空格
- Hadoop集群安装过程详细记录
- lruCache
- Android应用性能优化的小技巧
- 模块化思想重写之前写的My97DatePicker的例子
- [转载]iOS开发:获取设备信息
- 网络基础
- 分解表2
- 多个字段 按要求的字段排序
- AVFoundation和GPUImage初探
- 程序中的黑白名单控制
- 从三无科学家之争想到的
- 【15】Session
- redis集群环境搭建以及java中jedis客户端集群代码实现