2017-07-07 18 views
1

私のデバイス上に正常に表示されているHTMLファイルがありますが、デバイス上にCSSファイルがロードされません。ブラウザでHTMLを開くと、CSSが正常に動作しています。Swift 3でCSSファイルをHTMLで読み込むにはどうしたらいいですか?

これは私のHTMLコードです:

<head> 
    <link rel="stylesheet" type="text/css" href="stylesheet.css"> 
</head> 
<body> 
    <h1>Prateek Bhatt</h1> 
    <br> 
    <p>is the greatest</p> 
</body> 

これはstylesheet.cssという名前の私のCSSファイルです:

body { 
    background-color: lightblue; 
} 

h1 { 
    color: navy; 
    margin-left: 20px; 
} 

また、これはスウィフト3のコードです:

class ViewController: UIViewController { 

    @IBOutlet var webView: UIWebView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     let htmlFile = Bundle.main.path(forResource: "index", ofType: "html") 
     let html = try? String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8) 
     webView.loadHTMLString(html!, baseURL: nil) 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    }  
} 
+0

また、私はiosに新しいので、私はそれについてはあまり知らない。 –

答えて

1

文字列&のCSSのgetコンテンツを以下のコードで使用してみてください。あなたのCSSファイル名はJavaスクリプトをレンダリングするためにWKWebviewを使用してくださいstyle.cssに

guard let path = Bundle.main.path(forResource: "Style", ofType: "css") else { return } 
let cssString = try! String(contentsOfFile: path).trimmingCharacters(in: .whitespacesAndNewlines) 
let jsString = "var style = document.createElement('style'); style.innerHTML = '\(cssString)'; document.head.appendChild(style);" 
webView.evaluateJavaScript(jsString, completionHandler: nil) 

EDIT であると仮定します。

https://developer.apple.com/documentation/uikit/uiwebview

あなたはevaluateJavaScriptメソッドを呼び出すことができるようになります。

+0

あなたが書いたことを試しましたが、このエラーが発生しました。 \t 私はこの中にエラーが発生しましたが webView.evaluateJavaScript(jsString、completionHandler:ゼロ)LINE- 誤りがある - タイプ 'の値のUIWebView' はメンバー 'evaluateJavaScript' –

+0

を持っていませんEDITセクションを確認してください。 – Ellen

関連する問題