I was having a similar issue and ended up subclassing QLPreviewController
and adding the following to its implementation:
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//Find webview and set its subviews' background color to white
[[self.view subviews] enumerateObjectsUsingBlock:^(UIView* view, NSUInteger idx, BOOL *stop) {
[self setSubviewsBackgroundColor:view];
}];
}
and
- (void)setSubviewsBackgroundColor:(UIView*)view{
[[view subviews] enumerateObjectsUsingBlock:^(UIView* subview, NSUInteger idx, BOOL *stop) {
if ([subview isKindOfClass:[UIWebView class]]) {
[subview setBackgroundColor:[UIColor whiteColor]];
[[subview subviews] enumerateObjectsUsingBlock:^(UIView* view, NSUInteger idx, BOOL *stop) {
[view setBackgroundColor:[UIColor whiteColor]];
}];
}
else [self setSubviewsBackgroundColor:subview];
}];
}
Of course you'll likely want to change [UIColor whiteColor]
and optimize the above code to suit your needs.