2016-03-27 6 views
0

Dumme Frage, die peinlich ist zu fragen, aber kann es nicht herausfinden.Speicherort der lokalen HTML-Dateien definieren

Hinzufügen eines lokalen HTML ist einfach, aber da ich ein paar verschiedene Seiten (Szenen) haben werde, brauche ich jede HTML-Seite, um ein eigenes Verzeichnis zu haben.

Ich habe Schwierigkeiten, den Speicherort (Verzeichnis) der zu verwendenden HTML-Dateien zu definieren. Hier

ist der Code verwendet:

let filePath = ("html_shark" as NSString).stringByAppendingPathComponent("sharks.html") 
    let url:NSURL=NSURL(fileURLWithPath:filePath) 
    let request:NSURLRequest=NSURLRequest(URL:url) 
    myWebView!.loadRequest(request) 

Die beiden Ordner, die verwendet werden, sind die

html_shark @ sharks.html und HTML_turtlesCon @ turtles.html

+0

Ihre Frage ist nicht Klar, gib mir ein Beispiel. –

+0

Ich habe den Code, um eine lokale HTML-Seite in eine Webansicht zu erstellen. Wenn ich "haiks.html" mit allen Dateien (css et all) im xcode-Verzeichnis der App starte, läuft es einwandfrei. Ich habe jedoch drei verschiedene Controller, die 3 verschiedene HTML-Seiten ausführen. Jeder hat sein eigenes, anderes Verzeichnis. Ich verstehe nicht, wie Sie den Speicherort des Verzeichnisses festlegen, in dem sich die HTML-Datei auf dem View-Controller befindet. Hilft das? –

+0

Die css/js/Bilddateien im selben Verzeichnis der HTML-Datei oder Unterverzeichnisse? Könnten Sie bitte einen Screenshot der HTML-Datei in Xcode posten? –

Antwort

2

sind Sie sicher, dass Sie Habe echte Ordner und nicht nur Gruppen. wenn so etwas wie

let path = NSBundle.mainBundle().pathForResource("htmlpage2", ofType: "htm", inDirectory:"sub") 
// use path to create nsurl for nsurlrequest 
+0

Ich versuchte deine und bekomme den fatalen Fehler wegen Null. Es scheint nicht die HTML-Datei zu finden. Ich werde meinem ursprünglichen Post einen Screenshot hinzufügen, um es Ihnen zu zeigen. Ich dachte wirklich, das wäre einfach ... hmmmm. –

+0

Sie haben das Unterverzeichnis myfiles –

+0

für Sub-subs verwenden '' 'inDirectory:" sub/subsub "' '' –

0

[NSURL fileURLWithPath:@"foo/bar.html"]file:///foo/bar.html sein wird, bedeutet dies eine Datei-URL, die /foo/bar.html auf dem Gerät Dateisystem befindet, ist / nicht das Stammverzeichnis Ihrer App Bundle Weg.
Sie können den Stammpfad für Ihre App mit NSBundle Klasse abrufen. z.B. [NSBundle mainBundle].bundlePath.

Für Ihr Problem, wenn Ihre html_sharkHTML_turtlesCon Verzeichnisse in Xcode gelbe Symbol Farbe zeigen, verwenden Sie den Code unten:

NSURL *url = [[NSBundle mainBundle].resourceURL URLByAppendingPathComponent:@"sharks.html"]; 

und wenn Verzeichnisse HTML-Dateien zeigen blaue Symbol Farbe in Xcode enthalten, zu verwenden:

NSURL *url = [[NSBundle mainBundle].resourceURL URLByAppendingPathComponent:@"html_shark/sharks.html"]; 

Swift Code:

let url:NSURL = (NSBundle.mainBundle().resourceURL?.URLByAppendingPathComponent("sharks.html"))! 
webView.loadRequest(NSURLRequest(URL: url)) 
+0

Elf, ist das Obj C? Ich bekomme viele Fehler, wenn ich dies versuche, plus die; am Ende der Linie. –

+0

Entschuldigung, ich weiß nicht viel über Swift, in Swift sollte der Code "let url = NSBundle.mainBundle(). ResourceURL? .URLByAppendingPathComponent (" sharks.html ")' sein –

Verwandte Themen