2012-04-17 39 views
7

Mac osx , Tôi muốn làm cho webview của mình trông trong suốt và hiển thị dữ liệu trên đó với nền hiển thị hình ảnh của chế độ xem gốc.cocoa : Cách tạo nền trong suốt webView?

Có ai vui lòng cho tôi biết cách thực hiện việc này không? Phương pháp này Bạn không

NSString * source = @"<html><head><title></title></head><body><div id=\"box\">Example Box</div></body></html>"; 
[[webView mainFrame] loadHTMLString:source baseURL:[NSURL URLWithString:@""] ]; 
[[webView windowScriptObject] evaluateWebScript:@"document.getElementById('box').style.backgroundColor = '#dddddd';"]; // Change box background 
[[webView windowScriptObject] evaluateWebScript:@"document.body.style.backgroundColor = '#dddddd';"]; // Change body background 
+1

Vâng, một điều, bạn đang đặt màu nền của trang trong chế độ xem web thành màu mờ. Điều đó sẽ không hoạt động, phải không? –

Trả lời

16

có thể cần phải gọi setDrawsBackground: trên WebView và vượt qua trong NO. Điều đó sẽ ngăn chế độ xem web vẽ nền trừ khi trang được tải trong chế độ xem web rõ ràng đặt màu nền.

+0

vì vậy cảm ơn bạn –

-1

Chúng tôi có thể thêm hình nền trong WebView bằng cách sử dụng ca cao. để làm điều này, chúng ta cần thêm css cho thẻ body.

Tạo một webview:

WebView *webView; 

Fetch hình dạng bó đường dẫn:

NSString *path = [[NSBundle mainBundle] pathForResource:@"my-bg" ofType:@"jpg"]; 

ghi Css cho thẻ cơ thể.

NSMutableString *htmlBuilder = [[NSMutableString alloc] init]; 
[htmlBuilder appendString:@"body {"]; 
[htmlBuilder appendString:[NSString stringWithFormat:@" background-image: url('file://%@');",path]]; 
[htmlBuilder appendString:@"}"]; 

tải hình ảnh này trên webview

[[webView mainFrame] loadHTMLString:htmlBuilder baseURL:nil]; 
[webView setDrawsBackground:NO]; 

Hình ảnh của bạn sẽ được bổ sung trong nền trên webview.

Các vấn đề liên quan