2010-03-14 4 views
21

Ich erstelle eine App, die eine UIWebView hat, die eine Anzeige enthält. Die Größe der Ansicht entspricht der Anzeige (Bild) selbst. Dennoch gibt es oben und links vom Bild in UIWebView einen weißen Rand/Abstand. Schauen Sie sich das verknüpfte Bild:Seltsame Auffüllung/Rand bei der Verwendung von UIWebView

alt text

Eigentlich wird das Bild nach unten gedrückt und nach rechts durch diese auch Polsterung.

Irgendeine Idee, wie ich die weiße Polsterung entfernen sollte?

Vielen Dank im Voraus!

Antwort

49

Grundsätzlich sind alle Browser in diesem Leerzeichen um die Ränder der Seite hinzufügen, um rückwärtskompatibel mit Netscape 1. Im HTML Sie in der Web-Ansicht einlegen, können Sie CSS verwenden, die entfernen:

body { margin: 0; padding: 0; } 

Wenn Sie nicht HTML-Code in Ihre Web-Ansicht laden, sondern nur die direkte URL für eine Bilddatei, schlage ich vor, entweder a) Umwickeln, dass in einigen grundlegenden HTML (Kopf, Körper, ein img-Tag), oder b) Laden Sie das Bild selbst herunter (sagen Sie mit NSURLConnection), und zeigen Sie es direkt in einem UIImageView an.

+0

Danke! Ich habe eine HTML-Seite. Ich habe den Stil hinzugefügt und er sieht jetzt so aus, wie er sollte. Danke vielmals! – Nicsoft

37

Ich weiß, das ist eine alte Post, aber nur für den Fall, dass jemand die gleichen Probleme hat. Ich war in der Lage, das gleiche Problem zu beheben, indem ich den folgenden Code in die Delegierungsmethode webViewDidFinishLoad hinzufügte.

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

Schauen Sie sich das erste Banner mit dem obigen Code an. Und die untere ohne den Code.

enter image description here

+0

Danke! Gut für mich zu arbeiten. – Praveenkumar

3

Als ammendment zu @ brillante Antwort des thenextmillionair, setzen Sie den Code in:

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

zu webViewDidFinishLoad gegenüber. Wenn sich der Code in webViewDidFinishLoad befindet, sehen Sie die UIWebView Neupositionierung nach dem Erscheinen auf dem Bildschirm mit der Auffüllung. Indem Sie es in webViewDidStartLoad setzen, beseitigen Sie diese Hässlichkeit.