iv的任务是创建和使用Cordova Inappbrowser的应用程序。
我正在使用官方的inappbrowser插件和statusbar插件。所有插件都是最新的!

更改设备的方向时会出现问题,左上角会出现一个灰色块。我使用了XCode的模拟器和环境检查器工具来尝试找出带有灰色块的内容,但很幸运,它只是不想被检查。我已经测试了一些设备iPhone 6和7+以及iPad mini 4,但它仍显示在设备上。

我的config.xml代码隐藏状态栏

<platform name="ios">
    <config-file parent="UIStatusBarHidden" platform="ios" target="*-Info.plist">
        <true />
    </config-file>
    <config-file parent="UIViewControllerBasedStatusBarAppearance" platform="ios" target="*-Info.plist">
        <true />
    </config-file>
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
</platform>

和我的浏览器代码
    var url = "https://imgur.com/";
    var ref = cordova.InAppBrowser.open(url, '_blank', 'location=no,toolbar=no');

我的第一个问题是与inappbrowser中使用的URL有关,但是我已经测试了几个站点,每个站点都产生了相同的结果。

我使用状态栏插件来隐藏状态栏,这是可行的。

ios - iOS 11.2 Cordova Inappbrowser在方向更改时添加了灰色块-LMLPHP

在这里,当方向改变时,请注意灰色块。

ios - iOS 11.2 Cordova Inappbrowser在方向更改时添加了灰色块-LMLPHP

最佳答案

将其添加到CDVInAppBrowserNavigationController实现中的CVDInAppBrowser.m中,可以达到以下目的:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
    CGRect frame = [UIApplication sharedApplication].statusBarFrame;
    [_bgToolbar setFrame:CGRectMake(frame.origin.x, frame.origin.y, size.width, frame.size.height)];
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}

变量_bgToolbar是在viewDidLoad方法中初始化的变量。

希望这可以帮助!

关于ios - iOS 11.2 Cordova Inappbrowser在方向更改时添加了灰色块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46663649/

10-08 23:32