场景:我正在开发适用于iOS的混合Cordova(Phonegap)应用程序。为了混合原生代码和Cordova代码,我在Xcode 7中设置了一个故事板,其中UIView嵌入在容器视图中(使用嵌入segue),以便能够在整个原生应用程序中重用Web视图。
为了嵌入Cordova视图,我找到了以下说明: http://cordova.apache.org/docs/en/edge/guide_platforms_ios_webview.md.html#iOS%20WebViews
基本上说你必须称之为:
CDVViewController* viewController = [CDVViewController new];
viewController.view.frame = CGRectMake(0, 0, 320, 480);
[myView addSubview:viewController.view];
但他们没有解释如何将视图添加到故事板视图。我特别问自己如何处理CGRectMake的事情,因为我希望视图呈现响应性,即将自身调整为父视图的约束(而不是固定的矩形)。
我已经通过从Cordova的标准应用程序委托派生来实现这一点,但这一定是错误的方法。当我打电话给科尔多瓦的相机,拍照并回到我的网页视图时,网页视图突然跳出它的边框(到窗口的顶部),我看到这个错误信息在Xcode控制台:
Presenting view controllers on detached view controllers is discouraged
PS:我实际上是在使用Swift,但我能够阅读Objective-C代码,因此任何一种语言的代码示例都适合我。