2

我正在使用带有 Cordova 3.0 的 InAppBrowser 插件,但无法使 UIWebView 的背景颜色透明,因此我可以在后台看到我的应用程序。大多数时候人们说下面的某些版本应该处理我正在尝试做的事情:

self.view.backgroundColor = [UIColor clearColor];
self.view.opaque = NO;

但这对我不起作用。无论我尝试什么,我的 InAppBrowser 视图背后的背景都是黑色的(即我在后台看不到我的应用程序)。

任何人都可以帮忙吗?InAppBrowser 插件中是否有一些代码覆盖了上述代码?我现在已经克隆了插件,所以你可以看到我尝试过的内容:http: //goo.gl/fsSXUC

提前感谢您的任何帮助/建议!

更新1

使用presentationstyle=formsheet 实际上确实实现了我需要的透明度,但我需要控制UIWebView 尺寸,所以我需要找到一个较低级别/核心的解决方案。

更新2

看起来我陷入了一个围绕 StackOverflow 以不同方式提出的问题(例如:UIModalPresentationCurrentContext with Transition?)。我想我不会屏住呼吸在这里寻求答案,但如果有人在这里有一个干净/简单的解决方案,请插话!

4

1 回答 1

2

在这里回答我自己的问题。

对于任何有兴趣的人,我终于完成了(敲木头)修改最新版本的 InAppBrowser 来做我在这里寻找的东西。从现在开始,可以在此处找到修改后的完全不受支持的版本:https ://github.com/cemerson/cordova-inappbrowser-ce

我添加到这个插件的主要内容是能够指定 InAppBrowser UIWebView(仅限 iOS)的宽度、高度、xOffset 和 yOffset - 从而(重新)实现我在上面寻找的透明度。

请注意,我无论如何都不是专业的 ObjectiveC 程序员,但简而言之,为了实现对 InAppBrowser 的上述修改,我更改了代码,以便它现在大部分时间使用 [addsubview] 而不是 [presentmodalviewcontroller] - 因为后者阻止了任何一种透明度,除非您使用表单演示文稿样式。

希望这对其他人有帮助!如果有人对我制作的修改版本有建议/提示/建议,请在 github 页面上留言。

于 2013-08-14T10:02:59.717 回答