如何从Cordova插件添加本机视图

时间:2014-02-13 22:43:32

标签: ios cordova phonegap-plugins cordova-plugins

我正在使用最新版本的Cordova(3.3)开发一个插件。我需要在Cordova视图中添加原生UIImageView

如果我可以访问平台文件夹中的项目,我可以将我的视图添加到属于CDVViewController的视图实例。但是,我不确定如何从插件访问该引用。

在我的插件中,我有:

@interface CDVCool : CDVPlugin

@property (weak, nonatomic) UIImageView *nativeImageView;
...
@end

如何通过仅修改插件文件来初始化和呈现此视图?

1 个答案:

答案 0 :(得分:2)

此答案归功于devgeeks,他向我指出了他的几个插件,MapKitVolumeSlider,它们将原生元素与cordova网络视图混合在一起。

关键是要覆盖initWithWebView方法:

-(CDVPlugin*) initWithWebView:(UIWebView*)theWebView
{
    self = (VolumeSlider*)[super initWithWebView:theWebView];
    return self;
}

现在,在插件中,您可以获得对cordova Web视图后面的视图控制器的引用,并根据您的心愿添加它。

[self.webView.superview addSubview:mpCustomView];

这很酷,因为你可以控制你添加的关于webView的任何视图的zPosition。因此,您可以将视图放在Web视图的上方或下方。