【发布时间】:2012-08-29 14:43:58
【问题描述】:
如何在 Mac 应用程序中将图像设置为 WebView 的背景?因为 WebView 具有那种“弹跳”效果,所以如果您向下滚动到比内容更远的位置,则背景通常只是白色。是否可以像 UIWebView 一样设置背景图像?
编辑:另一种方法是完全停用 webView 的弹跳效果。
【问题讨论】:
标签: objective-c macos background webview
如何在 Mac 应用程序中将图像设置为 WebView 的背景?因为 WebView 具有那种“弹跳”效果,所以如果您向下滚动到比内容更远的位置,则背景通常只是白色。是否可以像 UIWebView 一样设置背景图像?
编辑:另一种方法是完全停用 webView 的弹跳效果。
【问题讨论】:
标签: objective-c macos background webview
如果您以编程方式创建此 Web 视图,则创建图像然后创建 Web 视图。确保它们的位置 (x,y) 和尺寸 (height, width) 相同。
如果您通过 IB 执行此操作,请放下图像(实际上只是拖动图像),然后将 webview 放在它上面。
【讨论】:
这是我发现的一种停止弹跳的方法:
id sub = self.web.subviews[0];
if ([sub isKindOfClass:[WebFrameView class]])
[sub setAllowsScrolling:NO];
类检查可能不需要,但我想确认一下。
【讨论】:
我们可以使用 cocoa 在 WebView 中添加背景图片。为此,我们需要为 body 标签添加 css。
创建网页视图:
WebView *webView;
获取图片表单捆绑路径:
NSString *path = [[NSBundle mainBundle] pathForResource:@"my-bg" ofType:@"jpg"];
为 body 标签编写 Css。
NSMutableString *htmlBuilder = [[NSMutableString alloc] init];
[htmlBuilder appendString:@"body {"];
[htmlBuilder appendString:[NSString stringWithFormat:@" background-image: url('file://%@');",path]];
[htmlBuilder appendString:@"}"];
在 webview 上加载此图像
[[webView mainFrame] loadHTMLString:htmlBuilder baseURL:nil];
[webView setDrawsBackground:NO];
您的图片将添加到 webview 的背景中。
【讨论】: