【问题标题】:How to set transparent background with InAppBrowser?如何使用 InAppBrowser 设置透明背景?
【发布时间】:2013-07-26 16:14:28
【问题描述】:

我在 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?)。我想我不会屏住呼吸在这里寻求答案,但如果有人在这里有一个干净/简单的解决方案,请插话!

【问题讨论】:

    标签: cordova viewcontroller inappbrowser


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 非常好。我现在正在实施这个,因为我需要我的 webview 有 y 位置。你有没有机会将此添加到 Android 版本中?
    • 抱歉 - 还没有 Android 版本,因为我的 java 技能为零。我担心的是,Webview 在 Android 和 iOS 中的工作方式可能会完全不同,因此甚至可能无法取消透明度。如果/当我对 Android 的兴趣增加时,我会喜欢这种能力/灵活性,所以如果我在这里有任何更新/新闻,我会再次加入。
    猜你喜欢
    • 1970-01-01
    • 2021-04-27
    • 2012-07-27
    • 2018-12-25
    • 2016-10-09
    • 1970-01-01
    • 2011-06-05
    • 2011-02-02
    • 2011-10-04
    相关资源
    最近更新 更多