Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chennyhuang/HZPhotoBrowser
图片浏览器 ,photoBrowser ,新浪微博,picture,pictureBrowser,sina,weibo
https://github.com/chennyhuang/HZPhotoBrowser
Last synced: about 2 months ago
JSON representation
图片浏览器 ,photoBrowser ,新浪微博,picture,pictureBrowser,sina,weibo
- Host: GitHub
- URL: https://github.com/chennyhuang/HZPhotoBrowser
- Owner: chennyhuang
- Created: 2015-06-25T04:05:15.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-04-08T10:44:41.000Z (almost 6 years ago)
- Last Synced: 2024-03-20T01:31:29.080Z (10 months ago)
- Language: Objective-C
- Homepage:
- Size: 39.7 MB
- Stars: 749
- Watchers: 18
- Forks: 140
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - HZPhotoBrowser - 图片浏览器,photoBrowser ,新浪微博,picture, pictureBrowser, sina, weibo. 【 [Priview](https://github.com/chennyhuang/HZPhotoBrowser/raw/master/1.gif) 】 (OOM-Leaks-Crash / PhotoViewer)
README
## HZPhotoBrowser
## 简介
一个类似于新浪微博图片浏览器的框架。* 支持显示和隐藏动画。
* 支持双击缩放,手势放大缩小。
* 支持横竖屏切换。
* 支持手势拉动退出,效果类似微博。
* 支持长图展示。
*支持展示GIF
* 提供两种展示模式。
* 适配 iphone X## 功能展示
#### 竖屏
![image](https://github.com/chennyhuang/HZPhotoBrowser/blob/master/1.gif)
![image](https://github.com/chennyhuang/HZPhotoBrowser/blob/master/2.gif)
#### 横屏
![image](https://github.com/chennyhuang/HZPhotoBrowser/blob/master/3.gif)
### 创建图片浏览器
#### 方式1
* 直接传url数组,然后展示出来。调用方式简单,无需其他控件支持。
* 具体代码参照 HZRootViewController.m -> - (IBAction)style2:(id)sender方法
```objc
HZPhotoBrowser *browser = [[HZPhotoBrowser alloc] init];
browser.isFullWidthForLandScape = YES;
browser.isNeedLandscape = YES;
browser.currentImageIndex = 3;
browser.imageArray = @[
@"http://ww2.sinaimg.cn/bmiddle/9ecab84ejw1emgd5nd6eaj20c80c8q4a.jpg",
@"http://ww2.sinaimg.cn/bmiddle/642beb18gw1ep3629gfm0g206o050b2a.gif",
@"http://ww4.sinaimg.cn/bmiddle/9e9cb0c9jw1ep7nlyu8waj20c80kptae.jpg",
@"http://ww3.sinaimg.cn/bmiddle/8e88b0c1gw1e9lpr1xydcj20gy0o9q6s.jpg",
@"http://ww2.sinaimg.cn/bmiddle/8e88b0c1gw1e9lpr2n1jjj20gy0o9tcc.jpg",
@"http://ww4.sinaimg.cn/bmiddle/8e88b0c1gw1e9lpr4nndfj20gy0o9q6i.jpg",
@"http://ww3.sinaimg.cn/bmiddle/8e88b0c1gw1e9lpr57tn9j20gy0obn0f.jpg",
@"http://ww2.sinaimg.cn/bmiddle/677febf5gw1erma104rhyj20k03dz16y.jpg",
@"http://ww4.sinaimg.cn/bmiddle/677febf5gw1erma1g5xd0j20k0esa7wj.jpg"
];
[browser show];
```#### 方式2
##### 步骤
###### 1.自定义九图控件,在九图控件的item点击事件里面调起图片浏览器。具体代码参照HZPhotoGroup类。
###### 关键代码
```objc
//启动图片浏览器
HZPhotoBrowser *browser = [[HZPhotoBrowser alloc] init];
browser.isFullWidthForLandScape = YES;
browser.isNeedLandscape = YES;
browser.sourceImagesContainerView = self; // 原图的父控件
browser.currentImageIndex = (int)button.tag;
browser.imageCount = self.urlArray.count; // 图片总数
browser.delegate = self;
[browser show];
```
```objc
//实现photobrowser代理方法
// 返回临时占位图片(即原来的小图)
- (UIImage *)photoBrowser:(HZPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index
{
return [self.subviews[index] currentImage];
}// 返回高质量图片的url
- (NSURL *)photoBrowser:(HZPhotoBrowser *)browser highQualityImageURLForIndex:(NSInteger)index
{
NSString *urlStr = [self.urlArray[index] stringByReplacingOccurrencesOfString:@"thumbnail" withString:@"bmiddle"];
return [NSURL URLWithString:urlStr];
}
```
###### 2.将九图控件添加到tableview的cell上。cell的代码参照HZTableViewCell类。
###### 3.cell添加到tableview上面。### tips
#### 要想实现上面的方式2,不可能像上面介绍的方式1一样,初始化一下图片浏览器,然后传入图片url数组,调起图片浏览器就完了。必须自定义九图控件。
#### 关于九图控件的布局,和里面item使用的view的类型,各人根据自己的需求自己定义。
#### 项目中使用 SDWebImage 4.0.0及以上版本加载网络图片。使用FLAnimatedImageView加载GIF。
#### GIF展示使用 FLAnimatedImageView。