2015-04-07 91 views
1

我有问题的UIWebView分页与UIWebPaginationModeLeftToRight UIWebView的背景颜色始终为白色

您可以轻松地重复: 添加一个UIWebView作为一个子视图。那么

_webView.backgroundColor = [UIColor clearColor]; 
_webView.opaque = NO; 
[_webView loadHTMLString:@"some string" baseURL:nil]; 

现在你已经有了UIWebView的透明背景。但如果你设置

_webView.paginationMode = UIWebPaginationModeLeftToRight; 

它出现在白色背景。我错过了什么吗?为什么分页模式会改变背景颜色?

+0

可能重复:http://stackoverflow.com/questions/27031092/uiwebview-paginationmode-always-show-white-background-how-to-make-it-transparen? RQ = 1 – elprup

回答

0

如果您的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) 

https://forums.developer.apple.com/thread/27906