2014-09-18 9 views
10

In tutte le versioni precedenti a iOS8, sono stato in grado di impedire alla tastiera di iPhone di spostare (e distruggere) la mia vista html/css/js quando il tastiera è apparso con il seguente metodo:Applicazione Web iPhone - Impedisci la visualizzazione della tastiera/push up - iOS8

$('input, select').focus(function(event) { 
     $(window).scrollTop(0); 
     // or via the scrollTo function 
}); 

Da iOS 8, questo non funziona più. Una soluzione è quella di inserire il codice all'interno di un setTimeOut

setTimeout(function() { $(window).scrollTop(0); }, 0); 

Ma rende solo la vista fare un movimento a scatti come la vista è inizialmente spinto verso l'alto da iOS, poi trascinato giù dal mio codice js. preventDefault e stopPropagation non aiutano neanche.

Ho provato tutto sul web ovviamente inclusa la mia soluzione personale qui: How to prevent keyboard push up webview at iOS app using phonegap ma finora nulla funziona per iOS8. Qualche idea intelligente su come impedisce alla tastiera in iOS8 di spostare/spostare la vista?

+1

So che questo è vecchio ma .. hai trovato qualche soluzione? – Eduard

+1

hai ancora bisogno di una risposta? –

+0

C'è qualche soluzione? Affrontare lo stesso problema al momento ... – Vetterjack

risposta

0

Prova position:fixed su body, e/o avvolgere il contenuto in un div e position:fixed su di esso pure.

0

ci sono alcune opzioni:

  1. Fai ascoltatore sul vostro codice ios, per spostare lo schermo in alto insieme con l'altezza della tastiera, quindi tutto si muovono lungo con la tastiera, quindi il vostro disegno Salva.

  2. Rendi il tuo design css reattivo. Quindi nessun problema con l'altezza del cambiamento, sarà scorrevole all'interno della tua webview.