2009-05-11 11 views

Respuesta

34

parece que esta pregunta necesita una respuesta actualizada :

puede acceder directamente a la vista de desplazamiento asociado a la vista web. (solo lectura) en iOS 5.0 y anterior. No creo que los desarrolladores deban soportar nada antes de iOS 5.0 a menos que en circunstancias excepcionales.

De los documentos de desarrollador de Apple.

@property(nonatomic, readonly, retain) UIScrollView *scrollView 
Discussion 
Your application can access the scroll view if it wants to customize the scrolling behavior of the web view. 

Availability 
Available in iOS 5.0 and later. 
Declared In 
UIWebView.h 

Ahora se puede escribir directamente algo como esto:

webView.scrollView.showsHorizontalScrollIndicator = NO; 
webView.scrollView.showsVerticalScrollIndicator = NO; 

No hay necesidad de ir a los subvistas de la web View.

11

UIWebView no hereda directamente de UIScrollView, pero usted puede ser capaz de utilizar UIScrollView propiedades en la subvista UIWebView:

[(UIScrollView*)[webview.subviews objectAtIndex:0] setShowsHorizontalScrollIndicator:NO]; 
[(UIScrollView*)[webview.subviews objectAtIndex:0] setShowsVerticalScrollIndicator:NO]; 

ni idea de si esto es aceptable, pero funciona bien y creo que debería funcionar. Informe si esto funciona para usted.

También considere presentar una solicitud de función a Apple en bugreport.apple.com para agregar esta propiedad a una futura implementación de UIWebView.

+2

Este código funciona en iOS 4.0 - 5.0, pero no en iOS 3.1.3. En iOS 4.0-5.0 '[webview.subviews objectAtIndex: 0]' devuelve una instancia de _UIWebViewScrollView, que se puede convertir a UIScrollView, pero en iOS 3.1.3 devuelve una instancia de UIScroller, que no se pudo convertir a UIScrollView. –

+0

Alex Reynolds, Gracias, funcionó para mí – Meet

+0

Alex Reynolds, aunque he proporcionado una respuesta, pero ya que su respuesta está en la parte superior. ¿Podría actualizarlo? en iOS 5.0 y superior. scrollView de la vista web se puede acceder como una propiedad de solo lectura. –

-1

No parece ser el comienzo de una respuesta aquí:

http://discussions.apple.com/thread.jspa?threadID=1781730

Si desactiva la interacción del usuario, esto parece quitar la barra de desplazamiento (esto puede ser aceptable si la página web se visualiza no exceda la altura de la pantalla).

Parece que también se describe un tipo de javascript, pero no lo estoy dominando:/(sin embargo, debe tener acceso a la página web que intenta mostrar, y puede que este no sea su caso ...)

5

hacerlo en esa forma:

for (id subview in self.myWebView.subviews) { 
    if ([[subview class] isSubclassOfClass: [UIScrollView class]]) { 
     ((UIScrollView *)subview).bounces = NO; 
     ((UIScrollView *)subview).showsVerticalScrollIndicator = NO;  
     ((UIScrollView *)subview).showsHorizontalScrollIndicator = NO; 
    } 
} 
+0

Agradable y seguro gracias! – Plot

0

Si alguien está buscando una solución rápida a continuación, a continuación es el código de veloz 3,0

yourWebView.scrollView.showsHorizontalScrollIndicator = false 
yourWebView.scrollView.showsVerticalScrollIndicator = false 
Cuestiones relacionadas