Подтвердить что ты не робот

Странное дополнение/маржа при использовании UIWebView

Я создаю приложение с UIWebView, которое содержит объявление. Размер представления совпадает с размером объявления (изображения). Тем не менее, в UIWebView есть белый край/дополнение какого-либо типа выше и слева от изображения. Посмотрите связанное изображение:

alt text

Собственно, изображение также сдвигается вниз и направо из-за этого дополнения.

Любая идея, как я должен удалить белое дополнение?

Спасибо заранее!

4b9b3361

Ответ 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, вы устраните это уродство.