Usted puede intentar inyectar JavaScript en la web View. Este código también funciona en el iPhone, pero solo cuando la página está completamente cargada. http://www.javascriptsource.com/page-details/disable-text-selection.html o http://solidlystated.com/scripting/proper-way-to-disable-text-selection-and-highlighting/
Para conseguir que funcione correctamente cuando la página se carga sólo la mitad o aún cargar podrás proably tener que utilizar una configuración similar a ésta donde se inyecta el javascript desactivando así como sería empezar a seleccionar . http://www.icab.de/blog/2010/07/11/customize-the-contextual-menu-of-uiwebview/
Una última cosa que puedo pensar que podría funcionar, ¿ha probado añadiendo el selector @selector (seleccione :) a la lista de selectores desactivados?
EDITAR: Bien, como usted muestra un PDF en lugar de una página html puede intentarlo.
Configuración
Ponga la web View en un ScrollView;
Establezca ScrollView's: delegate en self; min zoom a 1.0 y zoom máximo a lo que quieras;
Después de que weView haya terminado de cargarse. Busque el primer UIScrollView en el webView, (estamos escaneando para que no se rompa en las versiones posteriores de iOS). Establezca el marco de UIWebViews en su tamaño de scrollViews. Y configure el contentSize de scrollView en webViews contentSize (o por ahora, es el marco).
-(void)setup{
//Get the webView's first scrollView (the one all the content is in).
UIScrollView *webViewContentView;
for (UIView *checkView in [webView subviews]) {
if ([checkView isKindOfClass:[UIScrollView class]]) {
webViewContentView = (UIScrollView*)checkView;
break;
}
}
webView.frame = CGRectMake(0, 0, webViewContentView.contentSize.width, webViewContentView.contentSize.height);
scrollView.contentSize = webViewContentView.contentSize;
scrollView.delegate = self;
}
Para activar el zoom, deberá agregar un método adicional del delegado de scrollViews.
-(UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {
return webView;
}
Y se puede descargar un proyecto de ejemplo http://www.multiupload.com/P8SOZ4NW6C (Es un proyecto Xcode 4).
NOTAS: El zoom pixelates el contenido de la web View si acerca a la web View mucho porque no sabe que volver a hacer las cosas, y de hacer que usted no puede hacer clic en los enlaces (pero en un PDF que no deben' ser un problema).
EDIT 2: Mejor método
Después de haber escrito esto he dado cuenta de un método mucho más simple y más fácil, que también debe resolver el problema de la pixelación.
-(void)removeInput{
UIScrollView *webViewContentView;
for (UIView *checkView in [webView subviews]) {
if ([checkView isKindOfClass:[UIScrollView class]]) {
webViewContentView = (UIScrollView*)checkView;
break;
}
}
for (UIView *checkView in [webViewContentView subviews]) {
checkView.userInteractionEnabled = NO;
}
}
Ahora sólo debe ser capaz de interactuar con el propio UIScrollView, es decir, zoom, desplazamiento, etc .. debe seguir funcionando (y la página debe volver a hacer más bien la pixelación cuando uno se acerca), pero se puede' t seleccione cualquier texto, o escriba cualquier cosa en.
también algo acerca de este método es que en base a this list of UIWebView subViews que podría ser posible poner esto delante de la página empieza a cargar en lugar de después de que haya terminado de cargar la página.
A menos que esté 100% seguro de que nadie más ofrece el mismo contenido (o similar), esta "función" solo sirve para alejar a las personas de su aplicación. –
@Franci Penov: puedo pensar en muchos casos en los que un usuario no quisiera que apareciera el puntero de selección. De hecho, a menudo se tuerce con mi experiencia de usuario al leer algo y desplazarse lentamente (manteniendo el dedo hacia abajo, leyendo, arrastrando, termina seleccionando pero quería desplazarse). – Kalle
@Franci: estoy 100% seguro de que nadie más proporcionará dicho contenido. La aplicación se está creando para mostrar contenido que está restringido a cierto público. Esta "característica" es un requisito del cliente (de lo contrario, ciertamente no me molestaría con eso). @Kalle: Estoy totalmente de acuerdo con tu opinión. –