gpt4 book ai didi

javascript - Phonegap 2.2.0 - 检测方向

转载 作者:可可西里 更新时间:2023-11-01 05:56:36 25 4
gpt4 key购买 nike

我有一个应用程序,我想保持纵向模式,但我想检测方向变化的单个 View 除外,触发 js 事件并更改方向(仅针对该 View )。

我的应用程序中有以下代码:

   window.shouldRotateToOrientation = function(rotation) {
switch (rotation) {
case 0:
case 180:
console.log("Portrait");
return false;
//LandscapeRight or LandscapeLeft
case 90:
case -90:
console.log("Landscape");
return false;
}
}

这在为 iOS5 构建时似乎工作正常,通过返回 false 使应用程序保持纵向,并在设备处于横向模式时正确触发。但是,当为 iOS6 构建时,每次设备旋转时都会调用 4 次该函数,以匹配每种情况 - 使检测无用。

我是否正确地处理了这个问题 - 是否有其他方法或者我是否遗漏了什么?

请注意,我对 XCode/ios/ObjectiveC 环境的了解非常有限

最佳答案

试试这段代码:

function changeOrientation() {
switch (window.orientation) {
case 0:
// portrait, home bottom
case 180:
// portrait, home top
alert("portrait H: " + $(window).height() + " W: " + $(window).width());
break;
case -90:
// landscape, home left
case 90:
// landscape, home right
alert("landscape H: " + $(window).height() + " W: " + $(window).width());
break;
}
}

window.onorientationchange = function () {
//Need at least 800 milliseconds
setTimeout(changeOrientation, 1000);
}

超时应该可以解决问题。

关于javascript - Phonegap 2.2.0 - 检测方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com