【问题标题】:How can I add a native view from a Cordova plugin如何从 Cordova 插件添加本机视图
【发布时间】:2014-02-13 22:43:31
【问题描述】:

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

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

在我的插件里面我有:

@interface CDVCool : CDVPlugin

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

我怎样才能通过只修改插件文件来初始化和渲染这个视图?

【问题讨论】:

    标签: ios cordova phonegap-plugins cordova-plugins


    【解决方案1】:

    此答案的功劳归于 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 视图的上方或下方。

    【讨论】:

    • 注意:在较新版本的 Cordova 中,这需要在 - (void)pluginInitialize 中完成
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多