我正在创建一个包含广告的UIWebView应用。视图的大小与广告(图像)本身相同。尽管如此,在UIWebView内部还有一些白色边缘/填充在图像的左上方。查看链接的图片:
实际上,由于这种填充,图像也被向下推并向右推。
知道我应该如何删除白色填充物吗?
提前致谢!
答案 0 :(得分:51)
基本上,所有浏览器都会在页面边缘添加空白,以便向后兼容Netscape 1.在HTML中加载到Web视图中,您可以使用CSS删除它:
body { margin: 0; padding: 0; }
如果您没有将HTML加载到Web视图中,而只是加载图像文件的直接URL,我建议a)将其包装在一些基本的HTML(head,body,img
标记中),或b)自己下载图像(比如NSURLConnection
),并直接在UIImageView
中显示。
答案 1 :(得分:39)
我知道这是一个旧帖子,但万一有人遇到同样的问题。通过在webViewDidFinishLoad委托方法中添加以下代码,我能够解决同样的问题。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *padding = @"document.body.style.margin='0';document.body.style.padding = '0'";
[webView stringByEvaluatingJavaScriptFromString:padding];
}
查看添加了上述代码的第一个横幅。而没有代码的底部。
答案 2 :(得分: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
中,就可以消除这种丑陋。