我根据以下说明使用PhoneGap作为子视图(切割器):http://docs.phonegap.com/en/2.5.0/guide_cordova-webview_ios.md.html#Embedding%20Cordova%20WebView%20on%20iOS
我在webview上有一个原生UI。 webview的添加方式与上面的链接指示相同:
vController = [CDVViewController new];
vController.view.frame = CGRectMake(0, 0, 768, 1024);
vController.wwwFolderName = @"www";
vController.startPage = @"index.html";
vController.useSplashScreen = NO;
[self.view addSubview:vController.view];
现在在我的插件中,我试图关闭本机UI的一部分,当触摸了phonegap视图中的按钮时,我使用:self.viewController
它返回给我一个类型为CDVViewController的View Controller。这不是我想要的。我需要访问添加了vController.view的视图控制器以及子视图。我已尝试过self.viewController.parentViewController
presentingViewController
和其他人。
如何从CDVPlugin访问屏幕上的实际viewcontroller?
答案 0 :(得分:3)
尝试
UIViewController *rootViewController = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
或
id currentController = [[[delegate window] rootViewController] visibleViewController];
我在我正在开发的插件上使用第二个,并且工作正常(我也使用切割器)