Unity3D与iOS的交互设计<ViewController 的跳转>
2014-07-01 18:44
465 查看
这也是第一次做这样的需求,也是公司的需要呀。做出这个真是一言难尽呀。。。小弟主要不是搞iOS开发的,一直以来都是开发Android开发,只是昨天被老大叫过去做一下iOS的二维码扫描。有点iOS基础的我,只好到处搜索了。然后,二维码扫描做好了,遇到了一个难题,就是将做好的二维码扫描放到Unity3D上去。这个好难呀。。。刚开始吧,一直找不打rootController,尝试了多次后,只好放弃了。最后自己继承了一个View,仿制AlertDialog填充全屏,这样算是草草了事。具体操作如下: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中操作啦。。如果,有高手路过,还请指点指点呀。
相关文章推荐
- Unity3D与iOS的交互设计<ViewController 的跳转>
- IOS:Warning: Attempt to dismiss from view controller <xxxxxxxxxController: 0x15bd67f0> while a prese
- IOS学习 ModalViewController模态视图的创建 两视图间用代理方式<传值>
- Assigning to ‘id<UIWebViewDelegate>’ from incompatible type 'xxxViewController *const __strong'
- <iOS>关于viewWithTag的一点说明
- pass all options of <select> from View to controller
- IOS:Warning: Attempt to dismiss from view controller <xxxxxxxxxController: 0x15bd67f0> while a prese
- Android UI设计之<四>自定义TextView属性,实现带边框效果的TextView
- Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示
- <iOS>关于viewWithTag的一点说明
- iOS基础控件-UITabBarController - 3 之<UITabBarControllerDelegate>协议中的四个重要方法
- iOS: Warning: Attempt to present <ModalViewController> on <ViewController>while a presentation is in
- IOS:Warning: Attempt to dismiss from view controller <xxxxxxxxxController: 0x13f6840e0>
- Android UI设计之<一>使用ImageView实现ProgressBar旋转效果
- <iOS和Unity交互>之界面跳转
- Attempt to present <UINavigationController: 0x7fdf1b100e00> on <ViewController:0x....>
- Android UI设计之<二>自定义SwitchButton开关,实现类似IOS中UISwitch的动画效果
- Unbalanced calls to begin/end appearance transitions for <IDOOrderHomeViewController: 0x8da2960>.
- IOS TableView<一>
- unity3d中的设计模式之<单例模式>