PanoramaGL:支持鱼眼图和六方图等等,但是使用不方便。GitHub链接:https://github.com/shaojiankui/PanoramaGL
JAPanoView(推荐):只支持六方图,但是效果很棒,使用也很方便。GitHub链接:https://github.com/smartapps-fr/JAPanoView
关于鱼眼图可以用Pano2VR 全景图像转化,因此可以用JAPanoView来解决大部分的iOS的720°全景展示开发需求。
PanoramaGL
准备材料:项目工程、从GitHub上download或者cocoapods下来的PanoramaGL源码。
把PanoramaGL导到工程里,如图所示:
把图中的c文件改成OC源。
因为PanoramaGL用的是MRC,在现在ARC环境下会报错,所以找到targets->build phases->compile sources里的PanoramaGL相关文件添加
-fno-objc-arc
改成MRC环境编译。
在要使用到全景图的环境里,导入技术文档里指示的所需要的头文件。
2048的鱼眼图使用:
其他使用方法的相关代码均在ViewController里有展示。
JAPanoView(强推)
准备材料:项目工程、从GitHub上download或者cocoapods下来的JAPanoView源码。
将JAPanoView导入到工程里。
使用方法:
初始化JAPanoView并添加到视图里。
JAPanoView *panoView = [[JAPanoView alloc]initWithFrame:self.view.bounds];
[panoView setFrontImage:[UIImage imageNamed:@"TowerHousepano_f.jpg"] rightImage:[UIImage imageNamed:@"TowerHousepano_r.jpg"] backImage:[UIImage imageNamed:@"TowerHousepano_b.jpg"] leftImage:[UIImage imageNamed:@"TowerHousepano_l.jpg"] topImage:[UIImage imageNamed:@"TowerHousepano_u.jpg"] bottomImage:[UIImage imageNamed:@"Down_fixed.jpg"]];
[self.view addSubview:panoView];
此外常用方法:
[panoView setVAngle:0.5]; // 调整初始角度往上,负数往下
[panoView setHAngle:0]; // 同理水平效果。
———— 02.05 更新 ————
JAPanoView 的添加热点按钮API使用:
-(void)addHotspot:(UIView*)hotspotView atHAngle:(CGFloat)hAngle vAngle:(CGFloat)vAngle;
.h
@property (nonatomic, strong) StandbyView * YBF_PanoHotButton1; // 样板房的全景按钮动画
@property (nonatomic, strong) StandbyView * YBF_PanoHotButton2; // 样板房的全景按钮动画
@property (nonatomic, strong) StandbyView * YBF_PanoHotButton3; // 样板房的全景按钮动画
@property (nonatomic, strong) StandbyView * YBF_PanoHotButton4; // 样板房的全景按钮动画
@property (nonatomic, strong) StandbyView * YBF_PanoHotButton5; // 样板房的全景按钮动画
@property (nonatomic, strong) UIButton * YBF_PHBtn1; // 样板房的全景按钮
@property (nonatomic, strong) UIButton * YBF_PHBtn2; // 样板房的全景按钮
@property (nonatomic, strong) UIButton * YBF_PHBtn3; // 样板房的全景按钮
@property (nonatomic, strong) UIButton * YBF_PHBtn4; // 样板房的全景按钮
@property (nonatomic, strong) UIButton * YBF_PHBtn5; // 样板房的全景按钮
.m
// addHotspot热点按钮添加,atHAngle水平偏转角(负数为左),vAngle垂直偏转角(负数为下)
[_myPanoView addHotspot:self.YBF_PanoHotButton1 atHAngle:-1.0 vAngle:-0.8];
[_myPanoView addHotspot:self.YBF_PanoHotButton2 atHAngle:-2.25 vAngle:-0.27];
[_myPanoView addHotspot:self.YBF_PanoHotButton3 atHAngle:-3.2 vAngle:-0.6];
// 自定义动画
[_YBF_PanoHotButton1 imagePrefix:@"全景箭头-右转_" imageSuffix:@"png" totalFrames:25 loopFrame:1 speed:0.03];
[_YBF_PanoHotButton2 imagePrefix:@"全景箭头-前进_" imageSuffix:@"png" totalFrames:25 loopFrame:1 speed:0.03];
[_YBF_PanoHotButton3 imagePrefix:@"全景箭头-定位_" imageSuffix:@"png" totalFrames:25 loopFrame:1 speed:0.03];
// 添加按钮响应点击事件
[_YBF_PanoHotButton1 addSubview:self.YBF_PHBtn1];
[_YBF_PanoHotButton2 addSubview:self.YBF_PHBtn2];
[_YBF_PanoHotButton3 addSubview:self.YBF_PHBtn3];
网友评论