CXPhotoBrowser 1.1.1

CXPhotoBrowser 1.1.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Chris Xu维护。



  • 作者
  • ChrisXu

CXPhotoBrowser - 个性化你的iOS图片浏览器。

v1.1.1

一个灵感来自@MWPhotoBrowser的图片浏览器。移除了对其他库的依赖,因此您可以选择您喜欢的异步库来下载图片。支持高级自定义,包括导航栏、工具栏、加载进程占位符和加载失败占位符。您可以构建一个类似Facebook的图片浏览器。


ScreenShot 1, ScreenShot 2,

用法类似于@MWPhotoBrowser

如何使用

*创建一个图片浏览器(CXPhotoBrowser)。

photobrowser = [[CXPhotoBrowser alloc] initWithDataSource:self delegate:self];

*请记住设置数据源和代理。

CXPhoto *photo = [[CXPhoto alloc] initWithURL:<#(NSURL)#>];
[self.photoDataSource addObject:photo];

*您应该通过继承自CXPhoto来创建自己的Photo类。并实现 'loadImageFromURLAsync:' 以下载图片。在v1.1.1版本中得到支持。

*示例

- (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
  • NSLocalizedString
  • 图片重新加载操作。(在CXPhoto中声明)

即将推出:

  • 处理方向变化。
  • 支持更多手势。

支持:

  • iOS 4或更高版本。
  • Xcode 4.2(CXPhotoBrowser使用ARC)
  • 所需框架:Foundation、UIKit、CoreGraphics和ImageIO。

联系

关注@taterctl


许可证

版权所有(C) 2013 Chris Xu,许可协议为MIT许可(https://open-source.org.cn/licenses/mit-license.php)

以下条件下,任何人获得此软件和相关文档的副本(统称为“软件”),均可免费使用此软件,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、许可和/或销售软件副本的权利,并允许获得软件的人使用该软件,前提是

必须包含上述版权声明和本许可声明。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他法律行为,无论是出于软件或软件的使用或其他方式产生的。