概述
SViewFrame for iOS :在SViewBase的基础上增加了模型属性操作、动画播放,测量,批注,漫游等功能的操作界面, 方便用户快速集成。
如仅需要基本的浏览功能或需要个性化搭建展示界面的用户,可选择 SViewBase for iOS 集成控件。
集成准备
集成之前需要熟悉集成环境、SViewFrame for iOS的文件描述以及Xcode的工程配置,以便快速准确的集成相关功能界面。详细集成准备如下所示 :
集成环境
SViewFrame for iOS 开发库集成需要的环境:
- 开发环境:Xcode 7.0以上版本
- 系统环境: macOS 10.11以上版本
- 运行环境: iOS 8.0以上,仅支持真机运行
文件描述
SViewControl控件包包括:SViewFrame.framework、SViewBase.framework、SViewFrame.bundle、zh-Hans.lproj文件夹、en.lproj文件夹
SViewFrame.framework
:应用层UI界面集成库。SViewBase.framework
:功能接口集成库。SViewFrame.bundle
:资源包。zh-Hans.lproj文件夹
:中文本地化语言包。en.lproj文件夹
:英文本地化语言包。
解压SViewFrame控件包,得到SViewFrame.framework等文件,如下图所示:

Xcode配置
Xcode配置过程如下:
- Xcode工程右侧相应目录下单击右键选择【Add Files to "工程名"】,选择
SViewControl
,点击确定(或者直接拖拽控件包到工程相应目录下)。 - Xcode工程配置中选择【Build Phases】,在【Link Binary With Libraries】中添加如下系统库:
libxml2.tbd libc++.tbd libz.tbd libicucore.tbd libiconv.tbd OpenGLES.framework UIKit.framework Foundation.framework QuartzCore.framework CoreGraphics.framework AVFoundation.framework
成功配置后如下图所示: - Xcode工程配置中选择【Build Setting】,进行如下两项配置:
- 【Enable Bitcode】配置为
NO
- 【Other Linker Flags】添加配置
–ObjC
成功配置后如下图所示: - 【Enable Bitcode】配置为
- Xcode工程配置中选择【Info】,添加网络安全请求配置(iOS9.0以上需要配置此项)。
- 添加
App Transport Security Settings
,在此配置项下添加Allow Arbitrary Loads
并配置为YES
成功配置后如下图所示: - 添加
集成说明
集成SViewFrame控件的过程中需要熟悉控件的文件内容和使用方法,下面我们做出了详细的引用说明和配置管理、控件对象初始化方法等相关说明。详细集成步骤请看如下描述 :
引用声明
使用SViewFrame控件,首先需要声明头文件
#import <SViewFrame/SViewFrame.h>
配置管理
控件对象初始化之前,需要对本地化资源路径、OpenGLES版本和License授权等信息进行初始配置
(此过程建议在程序启动后进行配置)
- OpenGLES版本号配置
(默认为2.0)
[SParameters setGLESVersion:2.0];
-
License授权设置
[SParameters setLicense:@"M2VURUFPMCJEVHJPEgQNHhZDbFRoT1YhQ01JT1VFZGVURUFPPk1GTmheRklrTVNPRC1qT05FU11CWWwJQgA="];
- 资源路径配置
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
[SParameters setAppWorkPath:path];
注意事项:
gles版本设置后重新启动后有效,初次设置在对象初始化之前有效;路径下的文件具有读写的权限;
控件对象初始化
初始化对象,使用方法(指定视图大小):
- (id)initWithFrame:(CGRect)frame withInitMenu:(InitMenu)initMenu;
由于渲染器占用初始化耗时较多,建议使用懒加载方式或者单例模式初始化(保证渲染器只初始化一次)
SViewFrameView *SViewFrameView = [[SViewFrameView alloc] initWithFrame:CGRectMake(0, 120, self.view.frame.size.width, self.view.frame.size.height-120) withInitMenu:^{ [self.view addSubview:SViewFrameView]; //GLView刷新 [[SViewFrameView getSViewBase] setGLViewRefresh:YES]; //设置视图默认方向 [[SViewFrameView getSViewBase] setDefaultPerspective:PerspectiveDirectionForward]; //设置模型默认方向 [[SViewFrameView getSViewBase] setDefaultModelDirection:ModelDirectionRight]; }];
初始化完成后可根据需要添加到View视图中
需要用到多个SViewFrameView时,只需要重复创建添加多次即可。
注意事项:
-
程序正常运行时,设置GLView开始界面刷新:
[[SViewFrameView getSViewBase] setGLViewRefresh:YES];
-
程序退出或者进入后台运行时,停止GLView的定时刷新:
[[SViewFrameView getSViewBase] setGLViewRefresh:NO];
以保证程序不会异常退出。
对象销毁
当对象需要销毁SViewFrame对象时:
SViewFrameView = nil;
Demo说明
SViewFrame集成成功之后,即可根据需求调用基本的功能接口,如仅需要基本的浏览功能或需要个性化搭建展示界面的用户,可选择 SViewBase for iOS 集成控件。
调用控件方法
以SViewFrame for iOS API接口文档中打开本地文件接API接口文档中打开本地文件为例
- (void)openFile:(NSString *)filePath;
[SViewFrameView openFile:filePath];
SViewFrameView
为控件对象
openFile
为控件提供的接口方法
filePath
为打开模型文件路径