如何使用InAppBrowser设置透明背景?

时间:2013-07-26 16:14:29

标签: cordova viewcontroller inappbrowser

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

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

但它不适合我。无论我尝试什么,我的InAppBrowser视图背后的背景是黑色的(即我无法在后台看到我的应用程序)。

有人可以帮忙吗?是否有一些InAppBrowser插件中的代码覆盖了上面的代码?我现在克隆了这个插件,所以你可以看到我尝试过的东西: http://goo.gl/fsSXUC

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

UPDATE1

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

UPDATE2

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

希望这有助于其他人!如果有人对我所做的修改版本有任何建议/提示/建议,请点击github页面。