2010-03-14 4 views
21

Je crée une application qui a une UIWebView qui contient une publicité. La taille de la vue est la même que l'annonce (image) elle-même. Pourtant, il y a une marge blanche/rembourrage de quelque sorte au-dessus et à gauche de l'image, à l'intérieur de l'UIWebView. Consultez l'image liée:Rembourrage étrange/marge lors de l'utilisation de UIWebView

alt text

En fait, l'image est poussé vers le bas et à droite en raison de ce rembourrage aussi.

Une idée de comment je devrais enlever le rembourrage blanc?

Merci d'avance!

Répondre

49

Fondamentalement, tous les navigateurs ajouter dans que les espaces autour des bords de la page pour être rétrocompatible avec comme Netscape 1. Dans le code HTML que vous chargez dans la vue Web, vous pouvez utiliser les CSS pour supprimer ce:

body { margin: 0; padding: 0; } 

Si vous n'êtes pas le chargement HTML dans votre vue Web, mais juste l'URL directe pour un fichier image, je suggère soit a) enroulant que dans certains HTML de base (de la tête, le corps, une étiquette img), ou b) télécharger l'image vous-même (par exemple avec NSURLConnection), et l'afficher directement dans un UIImageView.

+0

Merci! J'ai une page HTML. J'ai ajouté le style et il a l'air comme il se doit maintenant. Merci beaucoup! – Nicsoft

37

Je sais que c'est un vieux message, mais juste au cas où quelqu'un a les mêmes problèmes. J'ai été capable de résoudre le même problème en ajoutant le code suivant dans la méthode de délégué webViewDidFinishLoad.

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

Regardez la première bannière avec le code ci-dessus ajouté. Et le bas sans le code.

enter image description here

+0

Merci! Fonctionne bien pour moi. – Praveenkumar

3

En tant que réponse brillante à Amendement de @ de thenextmillionair, placez le code dans:

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

par opposition à webViewDidFinishLoad. Lorsque le code est dans webViewDidFinishLoad, vous voyez le UIWebView se repositionner après être apparu sur l'écran avec le remplissage. En le mettant dans webViewDidStartLoad, vous éliminez cette laideur.