GKLParallaxPictures 0.1.0

GKLParallaxPictures 0.1.0

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

Unclaimed维护。




  • 作者
  • Francesco Di Lorenzo

最初由 pyro2927 创建。这是我对这个项目的见解。

GKLParallaxPictures

此组件使您能够在简单的 UIViewUIWebView 之上显示图像画廊。滚动一下,您将看到精彩的视差效果。

安装

安装此组件最简单的方法是通过 CocoaPods

将以下行添加到你的 podfile

pod 'GKLParallaxPictures'

然后运行 pod install 命令,并在你打算使用此组件的位置导入 GKLParallaxPicturesViewController.h

你也可以手动安装它。只需将 GKLParallaxPicturesViewController.hGKLParallaxPicturesViewController.m 拖到你的项目中,并在你打算使用此组件的位置导入 .h 文件。

如何使用

GKLParallaxPicturesViewController *paralaxViewController = [[GKLParallaxPicturesViewController alloc] initWithImages:imagesArray andContentView:contentView];

其中 contentView 是你想要在你的图像下面的详细信息视图。

实例化后,你可以通过调用

[paralaxViewController addImages:moreImagesArray];

Image 数组可以包含 UIImage 的实例以及 NSString。在后一种情况下,这些将是对图像的 URL,这些图像将异步加载。

显示一个网页视图

这是我进行分支操作的原因。无法将 UIWebView 显示为 contentView

UIWebView *testWebView = [[UIWebView alloc] init];
[testWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://nshipster.com/"]]];

UIImage *testImage = [UIImage imageNamed:@"shovel"];
NSArray *images = @[testImage, testImage, testImage];

GKLParallaxPicturesViewController *paralaxViewController = [[GKLParallaxPicturesViewController alloc] initWithImages:images
                                                                                                      andContentWebView:testWebView];

结果

从 URL 加载图像

GKLParallaxPictures 既可以接受 UIImages 也可以接受含有图像 URL 的 NSString 作为添加到顶部画廊中的 UIImageView。默认情况下,它使用 dispatch_queue 异步加载图像,但你可以通过继承 GKLParallaxPictures 并覆盖此方法来自定义图像加载处理方式。

默认图像加载

-(void)loadImageFromURLString:(NSString*)urlString forImageView:(UIImageView*)imageView{
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
    dispatch_async(queue, ^{
        NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:urlString]];
        dispatch_sync(dispatch_get_main_queue(), ^{
            UIImage *downloadedImage = [[UIImage alloc] initWithData:imageData];
            [imageView setImage:downloadedImage];
        });
    });
}