我的任务是创建和使用Cordova Inappbrowser的应用程序。 我正在使用官方的inappbrowser插件和状态栏插件。所有插件都是最新的!
当设备的方向改变时,会出现问题,左上角会出现灰色块。我已经使用了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>
和我的inappbrowser代码
var url = "https://imgur.com/";
var ref = cordova.InAppBrowser.open(url, '_blank', 'location=no,toolbar=no');
我的第一个问题是问题与inappbrowser中使用的URL有关,但我测试了一些网站,每个网站都产生了相同的结果。
我正在使用状态栏插件隐藏状态栏,这是有效的。
和继承人在进行方向改变时注意到灰色块。
答案 0 :(得分:0)
将此添加到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方法中初始化的变量。
希望这有帮助!
答案 1 :(得分:0)
由于我将永远不会使用状态栏,因此将CVDInAppBrowser.m
顶部的状态栏高度设置为0。
#define STATUSBAR_HEIGHT 0 // 21.0