实现Unity界面跳转到iOS界面功能:
第一步,创建C#脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
using UnityEngine.UI;
public class TestJumpToiOS : MonoBehaviour {
[DllImport("__Internal")]
private static extern void UnityJumpToiOS();
public void JumpToiOSButton()
{
this.GetComponentInChildren<Text>().text ="跳转ios界面";
UnityJumpToiOS();
Debug.Log ("跳转到iOS------");
}
}
首先,添加控制器
@interface UnityAppController ()
@property (nonatomic, strong) UIViewController *vc;
@end
然后设置iOS界面
- (void)setupiOS
{
UIViewController *vc = [[UIViewController alloc] init];
vc.view.backgroundColor = [UIColor whiteColor];
vc.view.frame = [UIScreen mainScreen].bounds;
UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 180, 30)];
btn.backgroundColor = [UIColor whiteColor];
[btn setTitle:@"跳转到Unity界面" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(setupUnity) forControlEvents:UIControlEventTouchUpInside];
[vc.view addSubview:btn];
self.vc = vc;
NSLog(@"设置界面为IOS界面");
self.window.rootViewController = vc;
}
设置Unity界面
-(void)setupUnity
{
// 设置Unity状态为开启状态
UnityPause(false);
// 设置rootViewController为Unity的跟控制器
self.window.rootViewController = self.rootViewController;
NSLog(@"设置rootView为Unity界面");
}
设置跳转iOS界面
extern "C" void TestUnityJumpToiOS()
{
UnityPause(true);
// GetAppController()获取appController,相当于self
[GetAppController() setupIOS];
// 点击按钮后跳转到iOS界面,设置界面为iOS界面
GetAppController().window.rootViewController = GetAppController().vc;
}
项目源码下载地址:http://download.csdn.net/download/elegentbeauty/10183095