BFRImageViewer 1.3.1

BFRImageViewer 1.3.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布日期最后发布2021年5月

由Jordan Morgan,Humber Aquino,Andrew Yates维护。Jordan MorganHumber AquinoAndrew Yates




BFRImageViewer

Demo

摘要

BFRImageViewer是一个用于在iOS应用程序中显示图片的一站式解决方案🎉!

它具有滑动手势来关闭,自动图片缩放,缩放和平移,支持多张图片,图片类型,URL回加载,自定义视图控制器过渡,内置视差效果,实时照片,并且很好地与3D touch协同工作!我们在Buffer for iOS中广泛使用它 :-).

我们在演示应用程序中提供了每个功能的代码示例,您可以自由地查看👀.

安装

BFRImageViewer托管在CocoaPods上,这是推荐安装方式

pod 'BFRImageViewer'

快速入门

要快速使用 BFRImageViewer,只需初始化它即可——这就是全部内容!

//Image source can be an array containing a mix of PHAssets, NSURLs, URL strings, UIImage, PHLivePhoto or BFRBackLoadedImageSource
BFRImageViewController *imageVC = [[BFRImageViewController alloc] initWithImageSource:@[image]];
let imageVC = BFRImageViewController(imageSource: [image])

从那时起,您将自动加载每张照片,并能够翻页浏览。如果您想了解更多信息,只需启动演示项目并查看一下即可。👌!

自定义过渡效果

如果您想使用自定义视图控制器过渡,使选定的图像在图像查看器中缩放,只需在专门的图像查看器动画类中设置一些属性即可

// In viewDidLoad...
self.imageViewAnimator = [BFRImageTransitionAnimator new];

// Later on, when you want to show an image...
self.imageViewAnimator.animatedImageContainer = self.imageView;
self.imageViewAnimator.animatedImage = self.imageView.image;
self.imageViewAnimator.imageOriginFrame = self.imageView.frame;
self.imageViewAnimator.desiredContentMode = self.imageView.contentMode; //Optional

BFRImageViewController *imageVC = [[BFRImageViewController alloc] initWithImageSource:@[self.imageView.image]];
imageVC.transitioningDelegate = self.imageViewAnimator; 

[self presentViewController:imageVC animated:YES completion:nil];

这将产生这种效果(请原谅低质量的gif🙈):

AnimationDemo

URL后台加载

假设您有一个图像的缩略图,同时也有一个更高清晰度版本的URL。使用URL后台加载,您可以在后台加载数据的同时快速显示较低分辨率的图像。当加载完成后,我们将自动将其替换。这使您可以兼顾两者。您无需让用户等待URL加载,也不必总是接受降级图像。

- (void)openImageViewer {
    BFRBackLoadedImageSource *backloadedImage = [[BFRBackLoadedImageSource alloc] initWithInitialImage:[UIImage imageNamed:@"lowResImage"] hiResURL:[NSURL URLWithString:@"cdn.theURl.png"]];
    BFRImageViewController *imageVC = [[BFRImageViewController alloc] initWithImageSource:@[backloadedImage]];
    [self presentViewController:imageVC animated:YES completion:nil];
}

展望未来

我们经常维护此代码,并且可以放心的是,它已在生产中经历了成千上万的用户测试👍。话虽如此,我们有时也会出错 - 因此,如果您发现任何问题,请随时提出问题!

我们总是很高兴谈论这些事情,因此请随时在Twitter上联系我们

或者,嘿——为什么不参与BFRImageViewer的开发并获得报酬呢? 我们正在招聘


许可

本项目使用MIT许可。