如何在 Cordova 中从 CDVPlugin 显示 ViewController?

2024-02-08

我已经为此苦苦挣扎了几天,但无法让它发挥作用,也找不到其他人似乎已经解决了这个问题。希望有人可以提供帮助。

我有一个简单的 ViewController,在 Swift 的故事板中有 2 个视图,我试图通过 Cordova 插件打开它(Android 版本有效)。我已经达到了不会出错的程度,并且我看到每一行代码都被命中,但我仍然没有看到 ViewController 显示。该应用程序的独立版本运行良好。

这是插件调用的代码:

import Foundation

@objc(SomePlugin) class SomePlugin : CDVPlugin {
    func show(command: CDVInvokedUrlCommand) {
        // step 1. take a storyboard variable
        var storyBoard:UIStoryboard? = nil
        storyBoard = UIStoryboard(name: "Main", bundle: nil)

        // step 2. un-box storyboard to sb variable
        if let sb = storyBoard {

            // step 3. create new window
            var window = UIWindow(frame: UIScreen.mainScreen().bounds)

            // step 4. start view controller
            window.rootViewController = sb.instantiateInitialViewController() as ViewController

            // step 5. make key window & visible
            window.makeKeyAndVisible()
        }
    }
}

如果还有什么可以帮助的,请告诉我。提前致谢!


第 1 步:需要将故事板导入为

  <resource-file src="src/ios/MyStoryboard.storyboard"/>

第 2 步:将您的框架导入为

  <framework src="src/ios/helloSwiftFrame.framework" custom="true"/>

在plugin.xml中执行以上两步

第 3 步:现在进入插件中的 .m 文件

   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil];
    UIViewController *yourViewController = [storyboard   instantiateViewControllerWithIdentifier:@"MyStoryID"] ;
   [self.viewController presentViewController: yourViewController animated:YES completion:nil];    

也不要忘记在 .m 文件中导入框架。

就这样完成了..!!快乐编码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Cordova 中从 CDVPlugin 显示 ViewController? 的相关文章

随机推荐

  • 防止在 Javascript 中自动创建全局变量

    我刚刚花了一些时间调试一个问题 归根结底是忘记使用var关键字位于新变量标识符前面 因此 Javascript 会自动在全局范围内创建该变量 有什么方法可以防止这种情况发生 或者更改默认行为 而不使用像 JSLint 这样的验证器 在编写和
  • 如何仅在第一次启动时显示视图?

    我使用 Xcode 4 5 和故事板构建了一个应用程序 第一次启动应用程序时 我希望初始视图控制器出现 并附带必须接受才能继续的条款和条件 之后 我希望应用程序启动并跳过第一个视图控制器并转到第二个视图控制器 我知道我必须使用 NSUser
  • Android 4.3 BTLE作为服务器:如何启动广告?

    我正在尝试使用 4 3 中的新 BTLE API 在 Nexus 7 上实现 BTLE 服务器 我遇到了几个问题 首先 SDK 中没有示例 唯一的例子是针对客户的 其次 文档实际上告诉你做错误的事情 它指出 人们必须使用BluetoothA
  • 如何检测 MemoryMappedFile 是否正在使用

    在 C 4 0 中 MemoryMappedFile有几种工厂方法 CreateFromFile CreateNew CreateOrOpen or OpenExisting 我需要打开MemoryMappedFile如果存在 则从文件创建
  • Gitlab docker 和 external_url

    你好 我使用 docker 安装了最新的 gitlab 我使用 p 10080 80 和 10022 22 启动容器 我可以浏览 gitlab 并执行我需要的操作 我什至可以分别使用端口 10080 和 10022 git 克隆 http
  • 如何在android webview中启用默认突出显示菜单?

    如何在 android webview 中启用默认文本突出显示菜单 例如 复制 粘贴 搜索 共享 在 Android 1 5 2 3 上工作 您可以使用emulateShiftHeld 自 2 2 起公开 但现在已弃用 此方法将您的 Web
  • 使用 'hd' 参数限制 Google OAuth 访问一个域 (Django / python-social-auth)

    我正在构建一个内部网络应用程序供我的公司使用 并希望使用我们的 Google Apps 域来管理来自我们公司域用户名的访问 本问题的其余部分为 example com 我在用着 Django 1 9 5 python social auth
  • 如何在日期字段上显示日期选择器日历

    这是关于如何使用 jQuerydate picker在 django 支持的站点中 models py is from django db import models class holidaytime models Model holid
  • 对数组使用限制?

    有没有办法告诉 C99 编译器我访问给定数组的唯一方法是使用 myarray index 说这样的话 int heavy calcualtions float restrict range1 float restrict range2 fl
  • 为 iPhone 本地化货币

    我希望我的 iPhone 应用程序允许用户使用适当的符号 等 输入 显示和存储货币金额 NSNumberFormatter 会做我需要的一切吗 当用户切换其区域设置并且这些金额 美元 日元等 存储为 NSDecimalNumbers 时会发
  • Java 中 HTML 字符编码的转换

    我们正在尝试下载网页源代码 但是由于字符编码的原因 我们无法正确看到某些特定字符 例如 我们尝试了以下代码来转换字符串 text 变量 的编码 byte xyz text getBytes text new String xyz windo
  • React:搜索和过滤功能存在问题

    我正在开发一个组件 它应该能够 按输入搜索 使用输入字段 在触发 onBlur 事件后将调用一个函数 之后onBlur事件开始寻找 方法将运行 按所选流派过滤 用户可以从其他组件中从流派列表中选择流派 之后onClick事件启动过滤器 方法
  • 使用 Facebook 图表来获取粉丝页面的粉丝?

    我有一个粉丝页面 位于http www facebook com shop4tronix http www facebook com shop4tronix 我可以通过以下方式访问此页面上的信息 http graph facebook co
  • 文本区域 onresize 不起作用

    根据w3schools
  • 返回主菜单不断循环菜单

    当程序第一次启动时 我可以成功地从主菜单中选择任何选项 但是 当我从任何子菜单中选择 返回主菜单 选项时 它都会返回主菜单 但无论我之后再次按哪个选项 它都会继续循环该菜单 只允许我选择返回主菜单选项 如何将选择重置到不会继续循环的位置 我
  • GDB源路径

    如何让gdb使用不同的目录来查找源文件 例如 我在编译期间的源文件位于目录中 home foo bar c 接下来 我将其移动到目录中 tmp debug home foo bar c 如何强制gdb在该目录中搜索 根据这个网站 https
  • 基于有序对多关系对描述符进行排序

    我的核心数据模型的描述 项目和问题实体 项目有一个有序的一对多关系至已命名问题的问题 问题与名为parentProject 的项目具有一对一的关系 这是我获取问题的代码 let fetchRequest NSFetchRequest ent
  • 如何编写混淆矩阵

    我用Python写了一个混淆矩阵计算代码 def conf mat prob arr input arr confusion matrix conf arr 0 0 0 0 for i in range len prob arr if in
  • 如果没有 firebug 断点,jquery ajax 将无法工作

    我使用以下方法来调用 php function validateEmaiAjax email val null warning load https localhost Continental 20Tourism register ajax
  • 如何在 Cordova 中从 CDVPlugin 显示 ViewController?

    我已经为此苦苦挣扎了几天 但无法让它发挥作用 也找不到其他人似乎已经解决了这个问题 希望有人可以提供帮助 我有一个简单的 ViewController 在 Swift 的故事板中有 2 个视图 我试图通过 Cordova 插件打开它 And