我正在使用最新版本的Cordova(3.3)开发一个插件。我需要在Cordova视图中添加原生UIImageView
。
如果我可以访问平台文件夹中的项目,我可以将我的视图添加到属于CDVViewController
的视图实例。但是,我不确定如何从插件访问该引用。
在我的插件中,我有:
@interface CDVCool : CDVPlugin
@property (weak, nonatomic) UIImageView *nativeImageView;
...
@end
如何通过仅修改插件文件来初始化和呈现此视图?
答案 0 :(得分:2)
此答案归功于devgeeks,他向我指出了他的几个插件,MapKit和VolumeSlider,它们将原生元素与cordova网络视图混合在一起。
关键是要覆盖initWithWebView
方法:
-(CDVPlugin*) initWithWebView:(UIWebView*)theWebView
{
self = (VolumeSlider*)[super initWithWebView:theWebView];
return self;
}
现在,在插件中,您可以获得对cordova Web视图后面的视图控制器的引用,并根据您的心愿添加它。
[self.webView.superview addSubview:mpCustomView];
这很酷,因为你可以控制你添加的关于webView的任何视图的zPosition。因此,您可以将视图放在Web视图的上方或下方。