2

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

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

在我的插件中,我有:

@interface CDVCool : CDVPlugin

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

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

4

1 回答 1

3

这个答案的功劳归功于 devgeeks,他们向我指出了他的几个插件MapKitVolumeSlider,它们将原生元素与科尔多瓦 Web 视图混合在一起。

关键是覆盖initWithWebView方法:

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

现在在插件中,您可以获得对cordova web 视图后面的视图控制器的引用,并添加任何您想要的内容。

[self.webView.superview addSubview:mpCustomView];

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

于 2014-02-16T00:32:48.760 回答