2013-01-11 68 views
1

如何加載網頁,例如: google.com,然後加載一個覆蓋某些樣式的本地CSS文件?WebView本地CSS

我能做的第一部分,我似乎無法做到的是後者。

回答

1

像往常一樣,答案非常簡單。

WebPreferences *webPrefs = [WebPreferences standardPreferences]; 
[webPrefs setUserStyleSheetEnabled:YES]; 
//Point to wherever your local/custom css is 
[webPrefs setUserStyleSheetLocation:[[NSBundle mainBundle] URLForResource:@"style" withExtension:@"css"]]; 

//Set your webview's preferences 
[myWebView setPreferences:webPrefs]; 
0

我想在這裏做同樣的事情,除了我的情況,我想從我的OS X目錄中的特定目錄加載它。

NSFileManager *fileManager = [NSFileManager defaultManager]; 
WebPreferences *webPrefs = [WebPreferences standardPreferences]; 
[webPrefs setUserStyleSheetEnabled:YES]; 
NSString *folder = @"~/Library/Application Support/irccloud/Style/"; 
folder = [folder stringByExpandingTildeInPath]; 

if ([fileManager fileExistsAtPath:folder] == NO) { 
    [fileManager createDirectoryAtPath:folder withIntermediateDirectories:YES attributes:nil error:NULL]; 
} 
//Point to wherever your local/custom css is 
NSURL *fileURL = [NSURL fileURLWithPath:@"/Users/ali/Library/Application Support/irccloud/Style/style.css"]; 
[webPrefs setUserStyleSheetLocation:fileURL]; 
//Set your webview's preferences 
[webView setPreferences:webPrefs]; 
+0

你展示你自己的例子或問一個問題嗎?當我找到解決方案時,我的問題已經得到解答。如果您提出問題,我建議您發佈一個新問題,而不是評論已解決的2歲Q/A問題。 –

+0

我剛剛看到你的問題真的很有用,然後我修改它以使它可以用不同的路徑工作,你可以指定哪個是另一種方式來做到這一點。 – Ali

0

在斯威夫特:

// Now kick start css 
    let ourWebPrefs:WebPreferences = WebPreferences.standardPreferences(); 
    ourWebPrefs.userStyleSheetEnabled = true; 
    ourWebPrefs.userStyleSheetLocation = NSBundle.mainBundle().URLForResource("webview", withExtension: "css"); 
    customWebView.preferences = ourWebPrefs;