我一直在为此奋斗几天而无法让它发挥作用,也找不到其他似乎已经弄明白的人。希望有人可以提供帮助。
我在Swift的Storyboard中有一个简单的ViewController和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()
}
}
}
如果还有其他任何帮助,请告诉我。提前谢谢!
答案 0 :(得分:1)
第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文件。
就这样了.. !!快乐编码
答案 1 :(得分:0)
问题不在代码中,问题是在一个糟糕的提交/合并中,我的故事板和viewcontroller的部分内容被吹走了。恢复文件后,它按预期打开。