ios - 如何从 Cordova 插件添加 native View

标签 ios cordova phonegap-plugins cordova-plugins

我正在使用最新版本的 Cordova (3.3) 开发一个插件。我需要将 native UIImageView 添加到 Cordova View 。

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

在我的插件中我有:

@interface CDVCool : CDVPlugin

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

如何通过仅修改插件文件来初始化和渲染此 View ?

最佳答案

此答案归功于 devgeeks谁向我介绍了他的几个插件,MapKitVolumeSlider ,将原生元素与 cordova web View 混合在一起。

关键是重写initWithWebView方法:

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

现在在插件中,您可以获得对 cordova Web View 背后的 View Controller 的引用,并添加您想要的任何内容。

[self.webView.superview addSubview:mpCustomView];

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

关于ios - 如何从 Cordova 插件添加 native View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21767146/

相关文章:

phonegap-plugins - iOS 中的 Phonegap 3.0 条码扫描器只能拾取 QR 码?

IOS NSString 解码不工作

ios - 如何将TextField的内容保存到plist

iOS - 澄清类和实例方法

ios - 使用Cordova InAppBrowser时如何消除iPhone/iOS白屏弹跳?

cordova - 从phonegap应用程序打开电话网络设置对话框

android - 从 visual studio 2015 部署 cordova 应用程序时出错

java - 使用外部 Java 插件在 PhoneGap/Cordova 中捕获音频/视频

javascript - Phonegap 3.7.0 手电筒插件不起作用

iphone - 核心图形,如何在运行时画线?