登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

一个使用简单的图片浏览库,基本和微信一模一样 [复制链接]

2017-9-6 17:39
hongfad 阅读:192 评论:1 赞:1
Tag:  UITabelViewUIScrollViewiamge

源码放在最后的链接

效果图

九宫格
网页模式
聊天模式

简单使用

DSImageScrollItem * item = [[DSImageScrollItem alloc] init];
item.largeImageURL = url;
//当前图片的缩略图View在界面中不可见的话,请设置为NO。动画效果会不同。
item.isVisibleThumbView = NO;
[items addObject:item];
DSImageShowView *scrollView = [[DSImageShowView alloc] initWithItems:items type:DSImageShowTypeChat];
/**
视图展示

@param fromView 缩略图View 可为nil,
@param toContainer 推出的视图容器View
@param index 当前显示的图片在所有图片中的index
@param animated 是否需要动画
@param completion 回调
*/
[scrollView presentfromImageView:fromView toContainer:self.navigationController.view index:currentIndex animated:YES completion:nil];

完全使用

  1. 先将你的图片数据构成一个个DSImagesData对象,放入数组

  2. 利用DSImagesData对象数组初始化DSImageLayout对象,调用layout方法完成排版

  3. 把DSImageLayout对象放入_layout数组,_layout用于tableView的数据源

  4. 将DSImageBrowseView做为cell的子控件,_layout中的layout对象依次设置给cell完成缩略图的显示。

  5. 在cell的代理中或者block回调中,实现单击present展示视图。

基本的思路是这样,具体细节还请看Demo的实现。

//1
DSImagesData *imagesData =[[DSImagesData alloc] init];
imagesData.largeImage.url = [NSURL URLWithString:large];
...
//2
[images addObject:imagesData];

DSImageLayout *layout = [[DSImageLayout alloc] initWithImageData:images];
[layout layout];
[_layouts addObject:layout];

...
//3
[cell setLayout:_layouts[indexPath.row]];
...
//4
_imageBrowseView.layout = layout.imageLayout;

...
//5
DSImageScrollItem * item = [[DSImageScrollItem alloc] init];
item.thumbView = imgView;
item.largeImageURL = imageData.largeImage.url;
[items addObject:item];

DSImageShowView *scrollView = [[DSImageShowView alloc] initWithItems:items type:DSImageShowTypeDefault];
[scrollView presentfromImageView:fromView toContainer:self.navigationController.view index:index animated:YES completion:nil];

浏览网页图片

//展示网页图片只需实现以下方法
/**
@param images 图片的url数组 传NSString类型
@param currentImage 当前图片的url
*/
DSWebImageViewController *vc = [[DSWebImageViewController alloc] initWithImages:images currentImage:images[i]];
[self.navigationController pushViewController:vc animated:YES];

Demo

分享到:
我来说两句
facelist
您需要登录后才可以评论 登录 | 立即注册
所有评论(1)
BeatBeat 2017-9-14 11:02
支持一下,写的不错。
回复
关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

返回顶部