Sé que esto es posible en el Tweetie para iPhone o en la aplicación de iPhone xkcd, pero están usando una tabla. ¿Alguna idea de si esto se puede hacer por un simple UIWebView
también? Estoy al tanto de las sugerencias de Javascript en this SO question, pero ¿qué tal hacer eso de forma nativa?Cómo actualizar un UIWebView con un gesto de "desplegar y soltar"?
Respuesta
FYI, el IOS 5 ha presentado oficialmente la propiedad ScrollView en UIWebView. Lo probé Funcionó perfectamente con el código de extracción y actualización de EGO. Entonces, el problema ya no es un problema para ningún dispositivo iOS 5.
Para compatibilidad con versiones anteriores, aún así necesita el código de @ CedricSoubrie.
Para recuperar eventos de desplazamiento en UIWebView I personnaly utilizar este código para obtener el ScrollView que está dentro del UIWebView:
- (void) addScrollViewListener
{
UIScrollView* currentScrollView;
for (UIView* subView in self.myWebView.subviews) {
if ([subView isKindOfClass:[UIScrollView class]]) {
currentScrollView = (UIScrollView*)subView;
currentScrollView.delegate = self;
}
}
}
Está funcionando. También puede usarlo para llamar al [(UIScrollView*)subView setContentOffset:offSet animated:YES];
El único problema puede ser no pasar la comprobación del código de Apple. No lo sé todavía porque todavía estoy en la fase de codificación.
¿Alguien lo ha intentado todavía?
Para obtener una referencia para UIScrollView en UIWebView, simplemente busque iterando a través de subvistas.
for(id eachSubview in [webView subviews]){
if ([eachSubview isKindOfClass:[UIScrollView class]]){
scrollView = eachSubview;
break;
}
}
Después de que se puede conectar fácilmente las cosas a su interfaz con el EGORefreshTableHeaderView UIWebView y las devoluciones de llamada de delegado UIScrollView.
Para decir la verdad, la clase UIWebVIew tiene un método getter no documentado llamado _scrollView; Así ocurre con el código:
scrollView = [webView _scrollView];
Hacer las cosas de esta manera es usar una "API privada". Si usa el método de CedricSoubrie anterior, está utilizando solo métodos públicos. – jkp
- 1. Elegir y desplegar un servidor cometa
- 2. Compilación cruzada: ¿cómo instalar con un prefijo y desplegar con un prefijo diferente?
- 3. arrastrar un JLabel con un TransferHandler (arrastrar y soltar)
- 4. Cómo borrar un UIWebView
- 5. Uso de un NSURLProtocol personalizado con UIWebView y solicitudes POST
- 6. iphone - gesto de un solo toque conflicto con el doble
- 7. ¿Cómo puedo desplegar un WAR en un Jetty 8 integrado?
- 8. oyente para presionar y soltar un botón
- 9. WPF: ¿Cómo evitar que un control robe un gesto clave?
- 10. Cómo detectar la redirección en un UIWebView
- 11. UICollectionView efectiva arrastrar y soltar
- 12. Arrastrar y soltar con Ember.js
- 13. Arrastrar y soltar con columpio
- 14. Cómo agregar controles debajo de un UIWebView
- 15. Fugas de memoria con UIWebView y Javascript
- 16. MySQL: ACTUALIZAR con un JOIN y un GROUP_CONCAT
- 17. UITableView toque y mantenga + arrastrar y soltar
- 18. ¿Cómo controlar CAKeyframeAnimation con gesto táctil?
- 19. ¿Cómo responder solo a un gesto de un solo toque mientras se dejan que los objetos respondan a doble toque?
- 20. ¿Cómo implemento un gesto de saludo en kinect?
- 21. Bloquear un archivo y eliminarlo sin soltar primero el candado
- 22. desplegar con Capistrano no
- 23. ¿Cómo actualizar counter_cache al actualizar un modelo?
- 24. Cargar UIWebView con un archivo local CSS
- 25. Pan gesto interfiere con UISlider
- 26. Simular un gesto fling en Android ActivityInstrumentationTestCase2
- 27. Cómo doblar/desplegar etiquetas HTML con Vim
- 28. Cómo detectar un gesto de deslizamiento en la vista web
- 29. Cómo arrastrar y soltar un archivo '.txt' en obj-c
- 30. Actualizar un átomo con un único valor
Sé por cierto desarrollador que ella aprobó el proceso de aprobación mientras tenía algo como esto en el código, para eliminar las sombras 'UIWebView' (para eso también tendrías que obtener' UIScrollView') – Joost
Works ¡como el encanto! (Aunque todavía no envié mi aplicación a la App Store) –
Tenga cuidado, este código no funciona en iOS 5 porque el scrollView de la clase webView ha cambiado. Use este código en su lugar: if ([subView isKindOfClass: [UIScrollView class]]) Cambié mi publicación original para que el código sea compatible con iOS 5 – CedricSoubrie