Я разрабатываю приложение iOS 4 с использованием последней версии iOS SDK и XCode 4.2.
У меня есть XIB с микросхемой UIWebView
с альфа = 1,0 , фон набор для Clear Color и Opaque не установлен. На этом 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 серый.
Есть подсказка?
iphone
objective-c
ios
cocoa-touch
uiwebview
VansFannel
источник
источник
Ответы:
Также установите:
[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.
источник
webView.opaque = NO; webView.backgroundColor = [UIColor clearColor];
источник
Вы можете попробовать этот код (я знаю, что это небезопасно, но работает даже для ios5):
- (void)makeBodyBackgroundTransparent { for (UIView *subview in [webView subviews]) { [subview setOpaque:NO]; [subview setBackgroundColor:[UIColor clearColor]]; } [webView setOpaque:NO]; [webView setBackgroundColor:[UIColor clearColor]]; }
источник
NSString *content=@"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">
источник
Последняя версия Swift (при необходимости):
lazy var webView: UIWebView = { let view = UIWebView() view.delegate = self view.backgroundColor = .clear view.isOpaque = false return view }()
Удалите строку делегата, если не требуется
источник