Черная область на UIWebView во время загрузки
Я заметил, что мой UITabBar
получает темно-серый цвет, когда я преформаю loadRequest
в моем UIWebView
.
Если я прокручу свой WebView
во время loadRequest
, появится черная область
![введите описание изображения здесь]()
Как я могу удалить это?
Ответы
Ответ 1
У меня была эта проблема раньше, и она связана с вложением содержимого вашего UIWebView. Эта черная область появляется везде, где у вас есть нижняя вставка, установленная в прокрутке. Я смог исправить это, установив свойство opaque
webview:
self.opaque = NO;
Ответ 2
Установите для UIWebView непрозрачный NO и чистый цвет фона одновременно:
![введите описание изображения здесь]()
Ответ 3
Вам нужно установить цвет фона для очистки, а также сделать webView непрозрачным. Это не работает, если вы не изменяете backgroundColor для очистки.
self.opaque = NO;
self.backgroundColor = [UIColor clearColor];
Ответ 4
Я не согласен с предлагаемыми решениями здесь. Рекомендуемое решение установки opaque
и backgroudColor
скрывает реальную проблему. Если вы это сделаете, то самый передний UIWebBrowserView
не будет охватывать весь кадр черным прямоугольником и будет прозрачным → но область, которая ранее была черной, останется неиспользованной, а ваш контент t будет отображаться там.
Я извлек UIWebBrowserView и распечатал его описания при изменении размера, и мне кажется, что использует округленные значения для своего прямоугольника содержимого. Поскольку границы фрейма представления определяются как CGFloat
, вы получаете проблемы округления при масштабировании окна просмотра веб-браузера (изменение размера/ширины представления обтекания на нецелые значения).
Мне удалось решить эту проблему, округляя аргументы setFrame
моего UIWebView
:
UIWebView *myWebView;
....
[myWebView setFrame:CGRectMake(newX, newY, floor(newWidth), floor(newHeight)];