Tengo que mostrar un artículo web con un UITableView
artículo debajo.
La única opción que encontré fue mostrar el artículo UIWebView
en el encabezado tableView.
Para hacer eso, tengo que obtener la altura del contenido de webView y tengo que deshabilitar el desplazamiento para webView.
Encontré dos soluciones para deshabilitar el desplazamiento:
for (id subview in webView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).scrollEnabled=NO;
o en JavaScript:
<script type="text/javascript">
touchMove = function(event) {
event.preventDefault();
}
Escuché que la primera solución está prohibida por Apple pero no tengo ninguna prueba de ello. ¿Mi solicitud será rechazada al usar esta solución? Si es así, ¿puedo usar la segunda solución sin ser rechazado?
webView.scrollView.bounces = NO;
? ya que el código de la primera línea ha desactivado el desplazamiento.Dado que esta pregunta aún es aplicable, ¡hay una nueva forma de hacerlo! (iOS 7.0+, quizás iOS 6 también, no confirmado)
Cuídate :)
fuente
Simplemente puede establecer la propiedad de interacción del usuario de la vista web en no ie
Es bastante simple y funciona bien, gracias :)
fuente
para todas las versiones de ios, puede usar este código en lugar de setScrollEnabled:
fuente
Usa este
<body ontouchmove="event.preventDefault()">
fuente
Versión SWIFT 3
fuente
Creo que el javascript
es la mejor solución.
En efecto :
Tu primer examen, o el
una (las mismas cosas) podría ser rechazada porque no está documentada, o hacer que su aplicación se bloquee en una actualización adicional de iOS.
Y el
El método no funcionará con iOS <5.
fuente
eso lo solucionó para mí
fuente
El primero es rechazado por Apple. Me pasó esta misma mañana.
fuente
[[myWebView scrollView] setBounces: NO];
fuente
No creo que Apple prohíba la primera opción.
Tu podrías intentar
Si no desea que ningún enlace funcione en su UIWebView, también puede hacerlo
fuente
Úselo:
fuente
Prueba esto,
fuente
Coloqué algunos
UIWebView
s dentro de aUIScrollView
y no se estaba desplazando para mí, a menos que desactive la interacción del usuario en las vistas web (incluso con[[webview scrollview] setScrollEnabled:NO]
). Así que coloqué laUIWebView
s dentro de aUIView
y eso funcionó para mí, pero luego los enlaces interactivos o divs en mi HTML dentro de laUIWebView
ya no funcionaban.Lo único que funcionó para mí es mantener el
UIWebView
interiorUIScrollView
para que las interacciones HTML funcionen, peroUIScrolling
no.Luego creé un delegado personalizado para que las vistas web escucharan
window.open("http:/customEvent")
que se llama desde el HTML contenido en la vista web. También agregué una detección de deslizamiento de JavaScript que activará mi evento personalizado.Cuando el delegado de webview recibe esto, paso una notificación a un controlador que luego desplaza dinámicamente mi archivo
UIScrollView
. Obviamente tuve que construir una lógica para monitorear y desplazarme a la página anterior o siguiente. No es la solución más bonita, pero funciona para mí.fuente
Prueba esto en tu HTML (
<HEAD>
etiqueta)Desactivará el desplazamiento en su página web.
(funciona en cualquier página web, no solo UIWebView)
fuente
Necesitaba deshabilitar el desplazamiento porque descartar un teclado personalizado realmente estropeaba el desplazamiento con webView. Nada más funcionó y recurrí a algo como esto:
fuente
¿Es una UIWebview y una UITableView en una UIScrollview, y la configuración de la altura de la vista web (y la suma al ContentSize total de la Scrollview) es lo que desea?
fuente
fuente