2013-10-17 13 views
5

Örnek bir iOS uygulamasıyla Cordova 3.1 test ettim ve birkaç klavye sorunu yaşadım.iOS'ta Cordova 3.1 ile klavye sorunları nasıl giderilir?

Uygulama ayarları: 5

  • Durum çubuğu gizlenir

    • Xcode
    • Yatay mod

    Config.xml

    issu es:

    1. Tüm sürümler: bir giriş alanına odaklanıldığında navbar dahil olmak üzere tüm görünüm yukarı itilir.

    2. iOS 5/6: Klavye bütün görünümü yukarı iter önce klavyeyi açmak için bir giriş alanına hafifçe vurun ve ardından siyah bir boşluk kısaca ekranın üst kısmında görüntülenir (Bu durum çubuğu mi?)

    3. iOS7: orada 2. sorun gibi hiçbir siyah boşluk olduğunu, ancak diğer sorunlar vardır: kaldırılır (gizli) edilmeden önce ben hala aksesuarlar çubuğu görmek

      • .

      • Klavye yarı saydam, o anki görüntünün yukarı itildiği alanda daha koyu arka plan görebiliyorum. ,

        • Görünüm hala yukarı itilir ve ne zaman giriş alanı daha sonra siyah bir boşluk ekranın üst kısmındaki flickring olduğunu odağı kaybettiğinde:

    Ben değiştirdiyseniz

  • , işler daha da kötü olan iOS 7'de bile, KeyboardShrinksView = false olursa ne olmaz.

  • Klavye artık

    iOS 7'de

  • üzerinde saydam olduğu Aşağıda Konuyu

    <preference name="DisallowOverscroll" value="true" /> 
        <preference name="HideKeyboardFormAccessoryBar" value="true" /> 
        <preference name="KeyboardDisplayRequiresUserAction" value="false" /> 
        <preference name="KeyboardShrinksView" value="true" /> 
        <preference name="SuppressesIncrementalRendering" value="false" /> 
        <preference name="TopActivityIndicator" value="gray" /> 
        <preference name="EnableLocation" value="false" /> 
        <preference name="EnableViewportScale" value="false" /> 
        <preference name="AutoHideSplashScreen" value="false" /> 
        <preference name="ShowSplashScreenSpinner" value="false" /> 
        <preference name="MediaPlaybackRequiresUserAction" value="false" /> 
        <preference name="AllowInlineMediaPlayback" value="false" /> 
        <preference name="BackupWebStorage" value="none" /> 
        <preference name="Fullscreen" value="true" /> 
        <preference name="Orientation" value="landscape" /> 
    
    +0

    HTML'niz nasıl görünüyor? Viewport meta etiketiniz var mı? –

    +0

    Bu sorunlar PhoneGap 3.0'da gerçekleşmedi ve HTML dosyası hala değişmedi, dolayısıyla eklenti/yapılandırma sorunu olduğunu varsayalım. –

    +0

    Bu şeyler sadece manzara modunda olur, değil mi? –

    cevap

    3

    Kontrol dışarı benim Config.xml olduğunu. Burada aynı sorunların birçoğu bildirildi. Bilgilerinizi Cordova JIRA hata izleme sistemine eklediyseniz en iyisi, çünkü tüm cordova geliştiricilerinin çalıştığı yer burası. https://issues.apache.org/jira/browse/CB-3020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13769996#comment-13769996

    Web sayfasının yeniden boyutlandırılması için basit bir animasyon ekleyerek üst başlığın etrafından kaymasını sağladım. İşte gizli olmaktan siyah çubuk almak yakındı ama çok iyi çalışır duruma alamadım CDViewController.m

    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.0]; 
    [self.webView setFrame:(CGRectMake(newFrame.origin.x, newFrame.origin.y, newFrame.size.width, newFrame.size.height))]; 
    [UIView commitAnimations]; 
    

    yılında keyboardWillShow işlevinde konulmuştur kodudur. Bu yazı ne yapmanız gerektiğini açıklar.Animasyonun yeniden canlandırılması animasyonunu klavye animasyonuyla eşleştirmeniz gerekir. iOS 7 - Keyboard animation

    +0

    Teşekkürler, birazdan deneyeceğim. Btw, sorun burada yükseltilmiş https://issues.apache.org/jira/browse/CB-5227 –

    +0

    Harika şeyler, ben de mükemmel çalışması için bunu eklemem gerekiyordu [UIView setAnimationBeginsFromCurrentState: YES]; – Mulhoon

    İlgili konular