plugin framework engine docs cordova ios7 uiwebview ionic-framework

cordova - framework - Cómo evitar UIWebViewBounce, "bandas de goma"



install cordova inappbrowser ionic (2)

Usar el marco iónico con Cordova CLI v3.4

Estoy usando las siguientes preferencias en mi archivo config.xml.

<preference name="webviewbounce" value="false" /> <preference name="UIWebViewBounce" value="false" /> <preference name="DisallowOverscroll" value="true" />

Compilar a través de CLI y XCode no parece arreglar nada.

Luego hice una búsqueda del proyecto DisallowOverscroll y me aseguré de que todos los valores estuvieran configurados en true

Todavía estoy obteniendo rubberbanding aunque en mi opinión. Alguien tiene una idea de lo que podría ser el problema?

¡Gracias!


De acuerdo con este post en los foros de iones :

"Es algo iónico, no un problema de Córdoba".

<ion-content has-bouncing="false" start-y="55" padding="true" has-tabs="true" has-header="true" >

Use el atributo has-bouncing para desactivar el efecto de rebote en la directiva de ion-content "

Solo tuve que configurar attr has-bouncing="false" , no sé por qué eso podría anular las configuraciones de configuración de Cordova.


También puede hacer esto en el lado HTML + JS, siempre que el documento HTML no sea más alto que la ventana gráfica WebView (también conocida como window.height en JS). Para ello, invoque preventDefault en el evento ''touchmove'' en el momento apropiado (es decir, cuando el elemento y todos sus elementos primarios no tengan nada para desplazarse en la dirección en que el usuario comenzó a mover el dedo).

Le mostraré el código real para hacerlo, sin usar jQuery ... pero deberá implementar Q.addEventListener y Q.removeEventListener usted mismo (o usar jQuery).

function _touchScrollingHandler(event) { var p = event.target; var pos; var scrollable = null; do { if (!p.computedStyle) { continue; } var overflow = p.computedStyle().overflow; var hiddenHeight = p.scrollHeight - p.offsetHeight; var s = ([''hidden'', ''visible''].indexOf(overflow) < 0); if ((s || p.tagName === ''HTML'') && hiddenHeight > 0) { if ((Q.Pointer.movement.positions.length == 1) && (pos = Q.Pointer.movement.positions[0])) { var sy = Q.Pointer.getY(event) + Q.Pointer.scrollTop(); if ((sy > pos.y && p.scrollTop == 0) || (sy < pos.y && p.scrollTop >= hiddenHeight)) { continue; } } scrollable = p; break; } } while (p = p.parentNode); if (!scrollable) { Q.Pointer.preventDefault(event); } } var Q = { preventTouchScrolling: function () { Q.addEventListener(window, ''touchmove'', _touchScrollingHandler); }, restoreTouchScrolling: function () { Q.removeEventListener(window, ''touchmove'', _touchScrollingHandler); } };