插件与UIViewController

有人可以向我解释一个cordovaiOS插件的生命周期吗?

特别是,我有一个插件,我正在试图开发包含一个UIView (和相关的UIViewController )。

如何从我的扩展CDVPlugin类获得Cordova UIView ,所以我可以添加我的插件作为子视图(它是如何工作的?)。

我想暂时在我的Cordova应用程序的顶部显示我的UIView ,然后解散它,返回到我的JS / HTML应用程序。

如果你想在整个cordova webview上显示整个UIViewController(全屏),你可以这样做

 [self.viewController presentViewController:yourViewController animated:YES completion:nil]; 

例子:

相机插件

InAppBrowser插件

如果你想在cordova webview上添加一个视图,你可以这样做

 [self.viewController.view addSubview:yourView]; 

例子:

MapKit插件

不同的是,第一种方法呈现整个视图控制器,全屏幕,第二种方法显示的视图可以有你想要的大小和位置,如果你没有使其具有相同大小的设备屏幕,用户将看到你的cordovawebview下

请参考上面@jcesarmobile给出的答案

插件与UIViewController

对于像我这样的不成熟的iOS开发人员,如果无法确定如何定义您的ViewController,请按照以下代码进行操作

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; UIViewController * yourViewController = [storyboard instantiateViewControllerWithIdentifier:@"iController"] ; [self.viewController presentViewController: yourViewController animated:YES completion:nil]; 

其中Main是故事板文件名,iController是在Main.Storyboard文件中定义的viewController的storyboardIdentifier

请投票上面的@jcesarmobile给出的答案