2012-07-17 19 views
6

Tengo un html incrustado en mi paquete de aplicaciones. Estoy usando loadHtmlString para cargarlo. Al mismo tiempo, hay algunos archivos de imagen en la carpeta de documentos. Quiero reemplazar mi img en html con la de mi carpeta de documentos. Por ejemplo, aquí está el HTML de ejemplo que tengo:¿Cómo borrar el caché de loadHtmlString de mi UIWebView?

 <div id="image"> 
      <a href="image"> 
       <img src="@image" class="center">    
      </a> 
     </div> 

estoy usando el siguiente código para reemplazar el @image a la ruta del archivo en mis documentos:

NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@", 
         [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png"]; 
    text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile]; 

    NSURL* baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]; 
    [self.webView loadHTMLString:text baseURL:baseUrl];  

(texto es el html texto de mi archivo html).

Funciona por primera vez cuando se llama a este código. Pero, por ejemplo, si modifico myimage.png y vuelvo a llamar al código, aún se muestra la imagen anterior a la modificación. (He revisado mi archivo en la carpeta de mi documento, ya ha sido modificado correctamente).

Sospecho que es causado por el caché. ¿Alguien puede aconsejar?

Gracias

Nota:

Es causada por la caché. He resuelto el problema utilizando el método siguiente para forzar UIWebView para cargar una nueva copia de la imagen:

NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@?t=%d", 
         [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png",time(NULL)]; 
    text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile]; 

Respuesta

7

me resolvió el problema agregar una vez en mi url. Por lo tanto, la imagen no se almacenará en caché. Por favor refiérase a mis preguntas. La pregunta es considerar estar cerrado.

+0

¡Tengo el mismo problema! Pero en mi caso no puedo cambiar el nombre de la imagen. Tengo que limpiar mi vista web ... ¿Alguna idea? – iWheelBuy

+0

Mi solución es cambiar la url de la imagen para que forme la imagen sin usar el caché. ¿Por qué no puede cambiar la URL de la imagen? Tienes que cargar la imagen de todos modos, ¿verdad? –

+0

¡He cambiado la URL de la imagen! Funciona bien ahora Fue algo difícil de cambiar la URL. El proyecto es extremadamente grande y no es mi proyecto. De todos modos, tu solución resultó ser la única que funciona. ¡Gracias! – iWheelBuy

Cuestiones relacionadas