Unity3D与iOS的交互设计

原地址:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/28797_12.htmlhtml

Unity3D与iOS的交互设计<ViewController 的跳转>,有须要的朋友能够参考下。布局

 

 

 

这也是第一次作这样的需求,也是公司的须要呀。作出这个真是一言难尽呀。。。spa

 

小弟主要不是搞iOS开发的,一直以来都是开发Android开发,只是昨天被老大叫过去作一下iOS的二维码扫描。有点iOS基础的我,只好处处搜索了。而后,二维码扫描作好了,遇到了一个难题,就是将作好的二维码扫描放到Unity3D上去。这个好难呀。。。设计

刚开始吧,一直找不打rootController,尝试了屡次后,只好放弃了。最后本身继承了一个View,仿制AlertDialog填充全屏,这样算是草草了事。orm

具体操做以下:htm

1.这是Unity3D提供的一个按钮点击方法 <这个方法是根据Unity3D工程师大哥提供的,本身在 UnityAPPController类中手动添加的,至于为何是这个,我也不是很清楚,反正这个方法,Unity3D类中会调用,并执行下去>对象

 

extern "C" void setupCamera(){
    //这是建立的一个视图控制器对象,固然,是为了调用它里面的stepC方法
    UnityAppController *uni=[[UnityAppController alloc]init];
    //这是须要调用的方法
    [uni stepC];
}

 

2.在UnityAppController中实现stepC方法继承

 

- (void)stepC{
    //建立须要弹出的视图
    self.alert = [[MLCarAlert alloc]init];
    // 自定义高度
    self.alert.height = [UIScreen mainScreen].bounds.size.height;
    [self initNav];
    // 显示Alert
    [self.alert show];  
 
这样的话,就实现了视图的跳转,固然,有一个问题就是,自定义的dialog没有获取到焦点,这让我很头痛。还好按钮只有一个,因此,在建立dialog的时候,我再定义了一个导航栏,经过导航栏添加按钮,使用这个按钮就解决了。<固然,若是布局控件是在UnityAppController中添加的,就不会形成失去焦点这个问题,这个问题后来我也没有解决,由于事情太多了。忙不过来。>
 
今天的时候,老大又让我作一个界面,这个界面控件就不少了。因此,上面那种方法就不行了。最后怎么办呢?
还好,找到了这样的一个方法。
 
不停的查找,不停的研究,不停的搜索,后面终于在 iPhone_View.mm 中找到了我须要的rootViewController,以下:
UIViewController *UnityGetGLViewController()<span style="font-family: Arial, Helvetica, sans-serif;">{</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre">	</span> return GetAppController().rootViewController;</span>
<span style="font-family: Arial, Helvetica, sans-serif;"> }</span>
<span style="font-family:Arial, Helvetica, sans-serif;">这样,就获得了Unity3D的rootViewController</span>
<span style="font-family:Arial, Helvetica, sans-serif;">
</span>
<span style="font-family:Arial, Helvetica, sans-serif;">而后就好办啦,将本身的ViewController copy 到工程中,</span>
<span style="font-family:Arial, Helvetica, sans-serif;">建立:TableFormViewController *table=[[TableFormViewController alloc]init];
</span>
<span style="font-family:Arial, Helvetica, sans-serif;">跳转:[UnityGetGLViewController() presentViewController:table animated:YES completion:nil];</span>

 

这样的话,就能够进本身的ViewController中操做啦。。开发

若是,有高手路过,还请指点指点呀。it

相关文章
相关标签/搜索