您的位置:首页 > 其它

在开发中图片浏览遇到的一些简单问题

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: