一个灵感来自@MWPhotoBrowser的图片浏览器。移除了对其他库的依赖,因此您可以选择您喜欢的异步库来下载图片。支持高级自定义,包括导航栏、工具栏、加载进程占位符和加载失败占位符。您可以构建一个类似Facebook的图片浏览器。
用法类似于@MWPhotoBrowser
如何使用
*创建一个图片浏览器(CXPhotoBrowser)。
photobrowser = [[CXPhotoBrowser alloc] initWithDataSource:self delegate:self];
*请记住设置数据源和代理。
CXPhoto *photo = [[CXPhoto alloc] initWithURL:<#(NSURL)#>];
[self.photoDataSource addObject:photo];
*您应该通过继承自在v1.1.1版本中得到支持。CXPhoto
来创建自己的Photo
类。并实现 'loadImageFromURLAsync:' 以下载图片。
*示例
- (void)loadImageFromURLAsync:(NSURL *)url
{
[self notifyImageDidStartLoad];
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:url options:0 progress:^(NSUInteger receivedSize, long long expectedSize)
{
[_photoLoadingView loadWithReceivedSize:receivedSize expectedSize:expectedSize];
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
if (!error)
{
_underlyingImage = image;
[self notifyImageDidFinishLoad];
}
else
{
[self notifyImageDidFailLoadWithError:error];
}
}];
}
数据源 *必需方法(2个)
- (NSUInteger)numberOfPhotosInPhotoBrowser:(CXPhotoBrowser *)photoBrowser
{
return [self.photoDataSource count];
}
- (id <CXPhotoProtocol>)photoBrowser:(CXPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index
{
if (index < self.photoDataSource.count)
return [self.photoDataSource objectAtIndex:index];
return nil;
}
*可选方法(自定义UI)
- (CXBrowserNavBarView *)browserNavigationBarViewOfOfPhotoBrowser:(CXPhotoBrowser *)photoBrowser withSize:(CGSize)size;
- (CXBrowserToolBarView *)browserToolBarViewOfPhotoBrowser:(CXPhotoBrowser *)photoBrowser withSize:(CGSize)size;
代理
- (void)photoBrowser:(CXPhotoBrowser *)photoBrowser didChangedToPageAtIndex:(NSUInteger)index;
- (BOOL)supportReload;
本版本的新功能
CXPhoto
。CXPhoto
中声明)即将推出:
支持:
版权所有(C) 2013 Chris Xu,许可协议为MIT许可(https://open-source.org.cn/licenses/mit-license.php)
以下条件下,任何人获得此软件和相关文档的副本(统称为“软件”),均可免费使用此软件,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、许可和/或销售软件副本的权利,并允许获得软件的人使用该软件,前提是
必须包含上述版权声明和本许可声明。
软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他法律行为,无论是出于软件或软件的使用或其他方式产生的。