zoukankan      html  css  js  c++  java
  • 开源一个网络图片浏览器HooPhotoBrowser

      在公司开发项目中需要弹出展示从网络上下载的图片,并提供滑动展示功能。目前采用同事开发的图片浏览器,后期有时间想优化一下。所以重温了下以前开发的类似微博的项目中的图片浏览器代码,并抽取出来封装成了现在这个框架。

            目前功能还比较简陋,有时间慢慢优化。扩展本地和网络图片以及其他支持吧。

             Github下载地址:https://github.com/jakciehoo/HooPhotoBrowser

    实现功能

      1.设置图片地址数组,从地址获取当前选择图片,然后展示当前图片(可设置默认显示第几张图片)

      2.提供图片下载进度动画,下载成功显示下载图片,下载过程中给出进度提示动画,下载失败提供下载失败提示。

      3.工具栏展示图片信息,并提供保存到本地相册功能

      4.对代码做了内存优化。

    效果图展示

    添加到项目

      1.项目依赖SDWebImage,因此需要你的项目添加SDWebImage框架,下载地址:https://github.com/rs/SDWebImage

      2.将Demo中的HooPhotoBrowser拷贝到项目中。

    调用方法

    HooPhotoBrowser的调用方法,可以参考demo。这里我先把调用代码写出来。

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        UIImageView *imageView = [[UIImageView alloc] init];
        imageView.frame = CGRectMake(50, 50, 200, 200);
        imageView.image = [UIImage imageNamed:@"uc_header_background.jpg"];
        [self.view addSubview:imageView];
        imageView.userInteractionEnabled = YES;
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapToShow:)];
        tap.numberOfTapsRequired = 1;
        [imageView addGestureRecognizer:tap];
    
    }
    
    - (void)tapToShow :(UITapGestureRecognizer *)tap {
            UIImageView *tapView = (UIImageView *)tap.view;
        NSArray *images = @[@"http://images.asiatravel.com/Hotel/8016/8016facade.jpg",
                            @"http://images.asiatravel.com/Hotel/8016/8016logo.jpg",
                            @"http://images.asiatravel.com/Hotel/8016/8016bathroom.jpg",
                            @"http://images.asiatravel.com/Hotel/8016/8016standard_room.jpg",
                            @"http://images.asiatravel.com/Hotel/8016/8016lobby-cafe.jpg",
                            @"http://images.asiatravel.com/Hotel/8016/8016lobby-reception.jpg",
                            @"http://images.asiatravel.com/Hotel/8016/8016pool.jpg"];
        NSInteger i = 0;
        NSMutableArray *pArray = [NSMutableArray array];
        for (NSString *url in images) {
            HooPhoto *photo = [[HooPhoto alloc] init];
            photo.url = [NSURL URLWithString:url];
            photo.index = i;
            photo.sourceImageView = tapView;
            [pArray addObject:photo];
            i++;
        }
        HooPhotoBrowser *photoBrowser = [[HooPhotoBrowser alloc] init];
        photoBrowser.currentPhotoIndex = 0;
        photoBrowser.photos = pArray;
        [photoBrowser show];
    }

    最后欢迎大家参考学习。并欢迎大家关注我的微信公众号,互相学习。

    我的微信公众号:丁丁的coding日记

  • 相关阅读:
    redis的安装
    thinkphp5学习
    php数组排序和查找的算法
    phprpc的简单使用
    apache学习教程
    mysql的存储过程,函数,事件,权限,触发器,事务,锁,视图,导入导出
    php设计模式八-----装饰器模式
    php设计模式七 ---组合模式
    64bit ubuntu14.04编译PlatinumKit出现的arm-linux-androideabi-g++: not found错误解决方法
    TS相关知识点
  • 原文地址:https://www.cnblogs.com/JackieHoo/p/5205800.html
Copyright © 2011-2022 走看看