Странное дополнение/маржа при использовании UIWebView
Я создаю приложение с UIWebView, которое содержит объявление. Размер представления совпадает с размером объявления (изображения). Тем не менее, в UIWebView есть белый край/дополнение какого-либо типа выше и слева от изображения. Посмотрите связанное изображение:
![alt text]()
Собственно, изображение также сдвигается вниз и направо из-за этого дополнения.
Любая идея, как я должен удалить белое дополнение?
Спасибо заранее!
Ответы
Ответ 1
В принципе, все браузеры добавляют в это пробелы по краям страницы, чтобы быть обратно совместимыми с Netscape 1. В HTML, который вы загружаете в веб-представление, вы можете использовать CSS, чтобы удалить это:
body { margin: 0; padding: 0; }
Если вы не загружаете HTML в свой веб-просмотр, а просто прямой URL-адрес для файла изображения, я предлагаю либо: a) обернуть его в некоторый базовый HTML (head, body, тег NSURLConnection) и отображая его непосредственно в UIImageView
.
Ответ 2
Я знаю, что это старый пост, но на всякий случай у кого-то такие же проблемы. Я смог исправить ту же проблему, добавив следующий код в метод делегата webViewDidFinishLoad.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *padding = @"document.body.style.margin='0';document.body.style.padding = '0'";
[webView stringByEvaluatingJavaScriptFromString:padding];
}
Посмотрите на первый баннер с добавленным выше кодом. И нижний без кода.
![enter image description here]()
Ответ 3
В качестве дополнения к блестящему ответу @thenextmillionair поставьте код в:
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSString *padding = @"document.body.style.margin='0';document.body.style.padding = '0'";
[webView stringByEvaluatingJavaScriptFromString:padding];
}
в отличие от webViewDidFinishLoad
. Когда код находится в webViewDidFinishLoad
, вы увидите, как UIWebView
переместить себя после появления на экране с дополнением. Поместив его в webViewDidStartLoad
, вы устраните это уродство.