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

相關文章
相關標籤/搜索