登录 立即注册
金钱:

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

高仿'微博'&&'微信'图片浏览器

[复制链接]
来自: LUKHA 分类: iOS精品源码 上传时间: 2016-9-8 14:25:40
Tag:图片 选择器 九宫格 image picker

项目介绍:

KNPhotoBrowerhttps://github.com/LuKane/KNPhotoBrower


高仿 微博 图片浏览器


DEMO下载:





一.功能描述及要点
  • 1.加载网络九宫格图片
  • 2.SDWebImage下载图片,KNProgressHUD显示加载进度
  • 3.高仿微博,显示动画,KNToast提示



二.方法调用1.创建KNPhotoBrower,并传入相应的参数
[Objective-C] 查看源文件 复制代码
KNPhotoBrower *photoBrower = [[KNPhotoBrower alloc] init];
photoBrower.imageArr = [_urlArray copy]; // 图片URL的数组
photoBrower.currentIndex = tap.view.tag;// 当前点击的哪个图片
photoBrower.sourceView = _view; // 所有图片的 父控件
photoBrower.actionSheetArr = [self.actionSheetArray mutableCopy];//设置 ActionSheet的选项
[photoBrower present];// 显示







2.提供代理方法 --> KNPhotoBrowerDelegate
[Objective-C] 查看源文件 复制代码
/* PhotoBrower 即将消失 */
- (void)photoBrowerWillDismiss;
/* PhotoBrower 右上角按钮的点击 */
- (void)photoBrowerRightOperationActionWithIndex:(NSInteger)index;
/* PhotoBrower 保存图片是否成功 */
- (void)photoBrowerWriteToSavedPhotosAlbumStatus:(BOOL)success;



3.提供 消失方法
[Objective-C] 查看源文件 复制代码
[_photoBrower dissmiss];



4.设置 参数
[Objective-C] 查看源文件 复制代码
/**
 *  是否需要右上角的按钮. Default is YES;
 */
@property (nonatomic, assign) BOOL isNeedRightTopBtn;
/**
 *  是否需要 顶部 1 / 9 控件 ,Default is YES
 */
@property (nonatomic, assign) BOOL isNeedPageNumView;
/**
 *  是否需要 底部 UIPageControl, Default is NO
 */
@property (nonatomic, assign) BOOL isNeedPageControl;
/**
 *  存放 ActionSheet 弹出框的内容 :NSString类型
 */
@property (nonatomic, strong) NSMutableArray *actionSheetArr;



5.关于弹出框的内容,可在KNPhotoBrower.m 的operationBtnIBAction 方法中增减
[Objective-C] 查看源文件 复制代码
#pragma mark - 右上角 按钮的点击
- (void)operationBtnIBAction{
    __weak typeof(self) weakSelf = self;

    if(_actionSheetArr.count != 0){ // 如果是自定义的 选项

        KNActionSheet *actionSheet = [[KNActionSheet alloc] initWithCancelBtnTitle:nil destructiveButtonTitle:nil otherBtnTitlesArr:[_actionSheetArr copy] actionBlock:^(NSInteger buttonIndex) {

            // 让代理知道 是哪个按钮被点击了
            if([weakSelf.delegate respondsToSelector:@selector(photoBrowerRightOperationActionWithIndex:)]){
                [weakSelf.delegate photoBrowerRightOperationActionWithIndex:buttonIndex];
            }

#warning 如果传入的 ActionSheetArr 有下载图片这一选项. 则在这里调用和下面一样的方法 switch.....,如果没有下载图片,则通过代理方法去实现... 目前不支持删除功能

        }];
        [actionSheet show];
    }else{
        KNActionSheet *actionSheet = [[KNActionSheet alloc] initWithCancelBtnTitle:nil destructiveButtonTitle:nil otherBtnTitlesArr:@[@"保存图片",@"转发微博",@"赞"] actionBlock:^(NSInteger buttonIndex) {

            // 让代理知道 是哪个按钮被点击了
            if([weakSelf.delegate respondsToSelector:@selector(photoBrowerRightOperationActionWithIndex:)]){
                [weakSelf.delegate photoBrowerRightOperationActionWithIndex:buttonIndex];
            }

            switch (buttonIndex) {
                case 0:{
                    SDWebImageManager *mgr = [SDWebImageManager sharedManager];
                    if(![mgr diskImageExistsForURL:[NSURL URLWithString:_imageArr[_currentIndex]]]){
                        [[KNToast shareToast] initWithText:@"图片需要下载完成"];
                        return ;
                    }else{
                        UIImage *image = [[mgr imageCache] imageFromDiskCacheForKey:_imageArr[_currentIndex]];
                        dispatch_async(dispatch_get_main_queue(), ^{
                            UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
                        });
                    }
                }
                default:
                    break;
            }
        }];
        [actionSheet show];
    }
}

补充
  • 1.目前适合 九宫格样式
  • 2.如果有bug, 请在Github上通过 '邮箱' 或者 直接issue ,我会尽快修改
  • 3.后期会提供适合 'collectionView' , 'scrollView' 等相应功能

相关源码推荐:

我来说两句
*滑动验证:
所有评论(375)
code4app热心网友 2016-9-8 16:40:07
学习学习!
回复
code4app热心网友 2016-9-8 17:20:05
精华内容,楼主V5!
回复
挖大坑的 2016-9-8 18:02:58
强烈支持楼主ing……
回复
code4app热心网友 2016-9-8 18:24:23
淡定,淡定,淡定……
回复
code4app热心网友 2016-9-8 18:32:43
精华内容,楼主V5!
回复
code4app热心网友 2016-9-8 18:37:05
楼主威武啊,Code4App有你更给力!
回复
code4app热心网友 2016-9-8 19:56:06
楼主用心了,内容非常精彩。
回复
zengpy 2016-9-8 20:08:57
感谢分享,Code4App有你更精彩:)
回复
提取码:  下载次数:385 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
5726 0 385
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

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

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

快速回复 返回顶部 返回列表