簡體   English   中英

cordova / ios媒體查詢方向從不報告“橫向”

[英]cordova/ios media query orientation never reports “landscape”

cordova 3.4.0-0.1.3,在模擬器(iOS 7.1 11D167)或物理設備(iOS 7.1.1 11D201)上的行為相同。

我使用了由“ cordova create hello com.example.hello HelloWorld”創建的cordova示例應用程序,並從正文中刪除了背景圖像樣式。 無論以下方向如何,添加以下css都會導致綠色背景:

body {
    /* red */
    background-color:#FF0000;
}

@media screen and (orientation : portrait) {
     body {
        /* green */
        background-color:#00FF00; 
    }
}

@media screen and (orientation : landscape) {
     body {
        /* blue */
        background-color:#0000FF;
    }
}

我想要一種一般測試肖像/風景的方法。 以下工作在ios上,肖像的綠色背景,風景的藍色背景。

body {
    /* red */
    background-color:#FF0000;
}

@media screen and (max-aspect-ratio: 1/1) {
     body {
        /* green */
        background-color:#00FF00;
    }
}

@media screen and (min-aspect-ratio: 1/1) {
     body {
        /* blue */
        background-color:#0000FF;
    }
}

我的定向查詢有問題嗎? 有什么理由不采用長寬比方法?

shouldAutorotateToInterfaceOrientation應該正確返回“ YES”。 我的plist聲明該應用程序支持所有方向。

謝謝您的幫助。

我認為您還必須為方向指定一個最小寬度:橫向才能正常工作,因為iOS不能正確地檢測到這種情況,只需使用簡單的技巧並尋找當您更改方向時會改變的設備寬度。

@media only screen and (max-width : 320px), (orientation: portrait) {
    /*css goes here*/
 }

@media only screen and (min-width : 320px), (orientation: landscape) {
    /*css goes here*/
}

需要注意的是,工作方式or

試試這個,讓我知道,是否有幫助:-)

在這個問題上花了很多時間,部分原因是Google並沒有帶給我最佳答案...我將在這里鏈接: 為什么設備旋轉時我的Cordova / PhoneGap iOS應用程序不旋轉?

最簡單的解決方案:定義window.shouldRotateToOrientation以針對4個“度”值中的任意一個或全部返回true:0和180縱向,-90和90橫向,例如,請參見http://www.williammalone.com/articles/html5-javascript -ios-orientation /用於有用的readDeviceOrientation(盡管它僅在解決基本問題后才起作用)。

在Cordova 5.1.1,iOS 8,iPhone 6上進行了測試。也可以在模擬器中使用。 我想我可以安裝最新的PhoneGap只是為了在那里進行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM