У меня была аналогичная проблема и в конечном итоге подклассов QLPreviewController
и добавив следующие его реализации:
- (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];
}];
}
и
- (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];
}];
}
Конечно, вы, скорее всего, захотите изменить [UIColor whiteColor]
и оптимизировать приведенный выше код в соответствии с вашими потребностями.
Прежде, чем на самом деле спросить здесь, я попробовал все эти вещи: подклассы, измененные в загруженной, измененные в появившемся. Ничего не работает. https://skitch.com/elbryan/eb8g3/ios-simulator –