2010-03-14 2 views
21

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

alt text

На самом деле, изображение выталкивается вниз и вправо за счет этого дополнения также.

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

Заранее благодарен!

ответ

49

В основном, все браузеры добавить, что пробелы по краям страницы, чтобы иметь обратную совместимость с как Netscape 1. В HTML вы загружаете в веб-просмотра, вы можете использовать CSS, чтобы удалить что:

body { margin: 0; padding: 0; } 

Если вы не загружаете HTML-код в свой веб-просмотр, а только прямой URL-адрес файла изображения, я предлагаю либо: a) обернуть его в некоторый базовый HTML (head, body, img) или b) загружая изображение самостоятельно (скажем NSURLConnection) и отображая его непосредственно в UIImageView.

+0

Спасибо! У меня есть HTML-страница. Я добавил стиль, и он выглядит так, как сейчас. Большое спасибо! – Nicsoft

37

Я знаю, что это старый пост, но на всякий случай у кого-то такие же проблемы. Я смог исправить ту же проблему, добавив следующий код в метод делегата webViewDidFinishLoad.

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSString *padding = @"document.body.style.margin='0';document.body.style.padding = '0'"; 
    [webView stringByEvaluatingJavaScriptFromString:padding]; 
} 

Посмотрите на первый баннер с указанным выше кодом. И нижняя без кода.

enter image description here

+0

Спасибо! Работаю хорошо для меня. – Praveenkumar

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

Смежные вопросы