2012-04-17 3 views
7

Mac osx, я хочу сделать свой веб-просмотр прозрачным и показать данные на нем с фоном, отображающим изображения родительского вида.Какао: Как сделать фон прозрачным webView?

Может кто-нибудь, пожалуйста, дайте мне знать, как это сделать? Этот метод не

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

Ну, с одной стороны, вы устанавливаете цвет фона страницы в своем веб-представлении непрозрачным цветом. Это не сработает, не так ли? –

ответ

16

может Вам нужно позвонить setDrawsBackground: на WebView и передать в NO. Это не позволит веб-представлению рисовать фон, если страница, загруженная в веб-представление, явно не устанавливает цвет фона.

+0

так что спасибо –

-1

Мы можем добавить фоновое изображение в WebView с использованием какао. Для этого нам нужно добавить css для тега body.

Создать WebView:

WebView *webView; 

Fetch изображение форма пучка путь: Css

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

записи для тела тега.

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

Загрузите это изображение на WebView

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

Ваше изображение будет добавлено в фоновом режиме на WebView.

Смежные вопросы