2010-11-22 9 views
0

Salut à tous
Je veux charger une image à partir du fichier HTML dans IPHone
mais im incapable de le faire
plz modifier mon code pour this-Afficher une image dans le fichier html dans iphone

UIWebView *webView=[[UIWebView alloc]initWithFrame:CGRectMake(10, 50, 650, 768)]; 
NSString *path=[[NSBundle mainBundle]pathForResource:@"Rough" ofType:@"html"]; 
NSString *fileContents=[[NSString alloc]initWithContentsOfFile:path]; 

[webView loadHTMLString:fileContents baseURL:nil]; 
[self.view addSubview:webView]; 

& .html iS

<HTML> 
<BODY> 
<img src=”HomePage.png”> 
</BODY> 
</HTML> 

comment je peux montrer cette image dans WebView.

Répondre

1

Eh bien, vous définissez baseURL à zéro. Si vous voulez que l'image soit chargée, vous devez certainement la spécifier, ou comment sait-elle où se trouve "HomePage.png"?

Où est stocké HomePage.png? Sur Internet ou dans le bundle d'applications? Utilisez une URL file:// si elle est stockée dans l'ensemble d'applications, indiquez l'URL appropriée si elle est stockée en ligne. MISE À JOUR: En fonction de votre commentaire, il semble que vous définissiez l'URL de base comme le niveau supérieur du lot .app.

Code complet comme demandé.

Je suppose que vous avez cette disposition du répertoire:

YourApp.app/ 
    Contents/ 
    Resources/ 
     Rough.html 
     Images/ 
     HomePage.png 
     ... 

donc à la fois votre baseURL doit être définie à l'URL des ressources, et la balise <img> dans le code HTML doit avoir Images/ dans l'attribut src.

NSBundle *mainBundle = [NSBundle mainBundle]; 
NSString *resourcesURL = [[mainBundle bundleURL] 
           stringByAppendingString:@"Contents/Resources"]; 
NSString *htmlURL = [resourcesURL stringByAppendingString:@"/Rough.html"]; 

NSString *htmlString = [NSString stringWithContentsOfURL:htmlURL 
               encoding:NSUTF8StringEncoding 
                error:NULL]; 

UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(10, 50, 650, 768)]; 
[webView loadHTMLString:htmlString baseURL:resourcesURL]; 
[self.view addSubview:webView]; 

Et le code HTML doit être:

<html> 
    <body> 
    <img src="Images/HomePage.png" alt="Your placeholder text" /> 
    </body> 
</html> 

(non testé)

PS: citations Curly « et « ne sont pas les mêmes que les guillemets doubles ASCII "et" dans presque tous les langages de programmation . Faites attention à les utiliser.

+0

image dans Ressource dans appBundel. – user440485

+0

Je fais ceci-NSString * path = [[NSBundle mainBundle] bundlePath]; \t \t NSURL * bundleBaseURL = [NSURL fileURLWithPath: chemin]; NSString * _path = [[NSBundle mainBundle] pathForResource: @ "Rough" deType: @ "html"]; \t \t \t NSString * fileContents = [[NSString alloc] initWithContentsOfFile: _path]; \t \t [webView loadHTMLString: fileContents baseURL: bundleBaseURL]; Mais il ne montre toujours pas l'image. – user440485

+0

Vous devez mettre à jour la question pour l'indiquer. Avez-vous confirmé que l'image existe? Quelque chose comme '[[NSFileManager defaultManager] fileExistsAtPath: [chemin chaîneByAppendingPathComponent: @" HomePage.png "]];'. En outre, ce code suppose que l'image est stockée dans le niveau supérieur de votre ensemble .app. C'est probablement faux, et sinon, vous devriez envisager de le déplacer ailleurs (Ressources?). – d11wtq

Questions connexes