与UIWebPaginationModeLeftToRight UIWebView的背景颜色始终为白色
问题描述:
我有问题的UIWebView分页与UIWebPaginationModeLeftToRight UIWebView的背景颜色始终为白色
您可以轻松地重复: 添加一个UIWebView作为一个子视图。那么
_webView.backgroundColor = [UIColor clearColor];
_webView.opaque = NO;
[_webView loadHTMLString:@"some string" baseURL:nil];
现在你已经有了UIWebView的透明背景。但如果你设置
_webView.paginationMode = UIWebPaginationModeLeftToRight;
它出现在白色背景。我错过了什么吗?为什么分页模式会改变背景颜色?
答
如果您的webview无法填满整个页面,网站的其余部分将会变成白色块视图。这是系统默认操作。
您可以通过将视图添加到该空间来使其自定义,以使背景看起来与您的webview内容相同。
// omit create webView and colorView
let script = "document.documentElement.offsetHeight"
let contentHeight = webView.stringByEvaluatingJavaScriptFromString(script)
let frameHeight = webView.frame.height
let lastPageHeight = frameHeight * CGFloat(webView.pageCount) - CGFloat(Double(contentHeight!)!)
colorView.backgroundColor = UIColor.blueColor()
colorView.frame = CGRectMake(webView.frame.width * CGFloat(webView.pageCount-1), webView.frame.height - lastPageHeight, webView.frame.width, lastPageHeight)
可能重复:http://stackoverflow.com/questions/27031092/uiwebview-paginationmode-always-show-white-background-how-to-make-it-transparen? RQ = 1 – elprup