中文文档请参阅这里
由于屏幕录制限制,实际设备上的体验会比上面的gif图像更好。
BSPanoramaView是iOS平台上的轻量级全景图片浏览器,它只会使二进制文件大小增加30k。
BSPanoramaView不依赖于任何第三方框架,且其代码量仅约三百行。
BSPanoramaView受到了WushuputiGH/Panorama的启发,复制了OpenGL的一些计算但重新编写了应用程序结构和修复了许多错误。
目前,如果您能够容忍一些微小的缺陷,BSPanoramaView可以应用于生产环境。
BSPanoramaView是GLKView
的子类,而GLKView
本身是UIView
的子类,所以您可以像使用普通视图一样使用BSPanoramaView。
#import "BSPanoramaView.h"
- (void)viewDidLoad {
[super viewDidLoad];
BSPanoramaView *panoView = [[BSPanoramaView alloc] initWithFrame:self.view.bounds imageName:@"test"];
[self.view addSubview:panoView];
}
纹理(test.png)占用大量内存。例如,分辨率为4096 * 20148的图片占用32M内存,这意味着您应该注意内存占用。
BSPanoramaView实例在dealloc
方法中会卸载纹理,您无需额外注意这一点。
- (void)dealloc {
[self unloadImage];
}
然而,如果没有释放,例如向屏幕外滚动,您应该注意在合适的时间手动调用unloadImage
方法。这也在PanoTableViewCell
类的代码中进行了演示。
您只需将源代码复制到您的项目中即可,因为项目中只有两个文件。
但是,由于这是可能随时进行优化测试的Beta版本代码,我强烈建议您使用Cocoapods。
pod 'BSPanoramaView'