Unity3D与iOS交互2(Unity里调用iOS原生)

在上一章节Unity3D与iOS交互1中,我们简单介绍了Unity里调用iOS原生 ~~简单的传值。

此章节,我们来讲一下Unity调用iOS原生控件。我们以提示框(Alert)为例子;

我们在Unity3D中代码的书写是一样的,如果不是特别的需求,或者功能优化,基本上都可以用同一的模式。

那么我们来说说怎么在Xcode中撸代码呢?其实很简单,iOS怎么编程的就怎么写。

iOS中控件的显示,都是基于View层之上,都继承于UIView,虽然UnityToIOSAlert是继承于UIVIewControlle,但是我们在程序中运行的时候,都是以Unity为基础的。所以,我们要通过UnityGetGLViewController();这一方法获取UIViewController,并且把原生控件显示的view添加上去。

上一章节说道,iOS中的接口都是用C语言函数编写的。所以在函数方法里面,我们没有办法用self. 语法获取当前UIViewController的所有属性。即使能够书写控件,也没有办法添加到view层上。所以在这里。我们在写一个接口到正常iOS方法里面。

PS:这里我们需要注意的几个问题:

        1.要引入头文件<QuartzCore/CACisplayLin>,因为UnitySendMessage()方法定义在这里面(我的程序并没有导入这个头文件,依然可以调用UnitySendMessage(),原因不明 - -!)

        2.在C函数中的接口方法会爆一个红,原因是没有上下文链接,只要把- (void)showAlert;在 .h 函数中写一遍就可以了。(同一天生成2个文件,一个需要写,一个不需要 - -!)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容