Ответ 1
Также установите:
[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];
Я разрабатываю приложение iOS 4, используя последнюю версию iOS SDK и XCode 4.2.
У меня есть XIB с UIWebView
с Alpha = 1.0, Фон установлен на Очистить цвет и Непрозрачный strong > не установлен. На этом XIB я устанавливаю изображение в качестве фона с помощью этого кода:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"AboutBackground.png"]];
self.view.backgroundColor = background;
[background release];
}
return self;
}
UIWebView
показывает статический html:
<html><head></head><body style=\"margin:0 auto;text-align:center;background-color: transparent; color:white\">...</body></html>
В симуляторе iOS 5 его фон прозрачен, но на устройстве iOS 4 есть серый цвет.
Любая подсказка?
Также установите:
[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];
/*for ios please set this*/
[webViewFirst setOpaque:NO];
/*for html please set this*/
<body style="background:none">
Кроме того, чтобы очистить цвет вашего веб-фона, также убедитесь, что вы установите непрозрачность на false.
Вы можете попробовать этот код (я знаю, что он небезопасен, но он работает даже для ios5):
- (void)makeBodyBackgroundTransparent {
for (UIView *subview in [webView subviews]) {
[subview setOpaque:NO];
[subview setBackgroundColor:[UIColor clearColor]];
}
[webView setOpaque:NO];
[webView setBackgroundColor:[UIColor clearColor]];
}
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
NSString *[email protected]"example clear background color UIWebview";
NSString *style=[NSString stringwithformat:@"<html><head><style>body {background-color:transparent;}</style></head><body>%@</body></html>",content];
[myWebview loadhtmlstring:style baseurl:nil];
Для цели
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
Пожалуйста, включите его в свой HTML-код:
<body style="background-color: transparent;">
или
<body style="background:none">