作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为此苦苦挣扎了几天,但无法让它发挥作用,也找不到其他人似乎已经解决了这个问题。希望有人能提供帮助。
我在 Swift 的 Storyboard 中有一个简单的 ViewController 和 2 个 View ,我试图通过 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 步:需要将 Storyboard导入为
<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 文件中导入您的框架。
大功告成..!!快乐编码
关于ios - 如何在 Cordova 中从 CDVPlugin 显示 ViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28326271/
我是一名优秀的程序员,十分优秀!