IOS中Phonegap高度变化?

Posted

技术标签:

【中文标题】IOS中Phonegap高度变化?【英文标题】:Phonegap height change in IOS? 【发布时间】:2013-08-22 21:43:02 【问题描述】:

我有一个简单的 phonegap 项目,我想添加 admob,我需要规定 phonegap 高度以在屏幕顶部留下 50dp 的空间,并在 ipad 上留下 90dp,我不确定方式为此,现在我在 html 文件中留下了 50dp 的空间,我将 admob 放在该 html 上方的屏幕顶部,如果我想为 Iphone 和 ipad 使用智能横幅,我确定这不是正确的方法。

我尝试使用此代码进行一些更改,但没有运气,我确定还有另一种方法。

CGRect screenBounds = [[UIScreen mainScreen] bounds];

self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];

【问题讨论】:

【参考方案1】:

您必须获取并更新 webView 框架。类似下面的东西也支持屏幕旋转:

// detect orientation 
UIDeviceOrientation currentOrientation = [[UIDevice currentDevice] orientation];
BOOL isLandScape = (UIInterfaceOrientationIsLandscape(currentOrientation));

CGRect webViewFrame = webView.frame;
CGRect superViewFrame = webView.superview.frame;
CGRect bannerViewFrame = bannerView.frame;

// Frame of the main Cordova webview and its max size
CGFloat webViewHeight = superViewFrame.size.height;

// define height for banner, 0 if hidden
CGFloat bannerHeight = bannerViewFrame.size.height;

if (bannerView.hidden)
  bannerHeight = 0.0;


// set different size for landscape
if (isLandScape) 
  webViewHeight = superViewFrame.size.width;


webViewHeight -= bannerHeight;
webViewFrame.size.height = webViewHeight;

// move webview x location
webViewFrame.origin.x = bannerHeight;

// finally set the frame
webView.frame = webViewFrame;

【讨论】:

以上是关于IOS中Phonegap高度变化?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios phonegap 开发中检测选择框高度?

在 HTML5 phonegap IOS 应用程序中创建滚动 Div - 没有高度

在使用 phonegap 触发事件之前检测方向变化

iOS 11 上的 Phonegap / Cordova 选择选项后再次显示弹出窗口

Phonegap 每 5 分钟在后台唤醒应用程序以检查位置 iOS

将横向限制在特定页面、jquery mobile、iOS、phonegap/cordova