2012-09-03 2 views
0

Dans ma classe dérivée de UIViewController, j'ai une variable de classe de type UIWebView * appelée helpView. Et j'utilise le code suivant pour viewDidLoad.Comment utiliser css avec UIWebView?

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSURL *helpFileURL=[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/tutorial.html", 
               [[NSBundle mainBundle] resourcePath]]]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:helpFileURL]; 
    [helpView loadRequest:request]; 
} 

et les choses fonctionnent bien, je peux voir « tutorial.html » sur mon simulateur et l'appareil.

Maintenant, voici ma question, je veux utiliser un fichier CSS appelé tutorial.css avec mon tutorial.html. De la même manière tutorial.html est dans le bundle de l'application, tutorial.css est également dans le bundle de l'application.

Comment dois-je modifier le code ci-dessus pour que cela fonctionne? J'ai essayé quelques choses par moi-même, mais j'ai échoué. Et je n'ai rien trouvé de réponse claire en regardant sur le web. Il est évident que si j'utilise l'habituel:

<link href="css/tutorial.css" rel="stylesheet" type="text/css" /> 

dans mon dossier tutorial.html il ne suffit pas.

Merci pour toute information.

Répondre

2

Quittez le répertoire css, votre bundle ne fonctionne pas de cette façon.

<link href="tutorial.css" rel="stylesheet" type="text/css" /> 

Ensuite, changer votre code pour charger le code html avec une url belle base:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"tutorial" ofType:@"html"]; 
    NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; 

    NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; 

    [webView loadHTMLString:htmlString baseURL:baseURL]; 
} 
+0

Merci ça marche. La seule chose que je peux dire est que je reçois un avertissement m'indiquant que stringWithContentsOfFile est déprécié. – Michel

+0

J'ai trouvé un correctif ici: http://iphone.keyvisuals.com/apps/fixed-stringwithcontentsoffile-is-deprecated-error/ – Michel

+0

correct, j'ai mis à jour ma réponse :) – Tieme