如何修改UIWebView
中的内容框架(例如文字)?
请查看下面的图片,说明我的要求。
在上图中,黄色边框为UIWebView
框,红色为内容(HTML text in webView
)。黑线(黄色框附近)为scroll bar
应该来。所以我需要的是,只减少UIWebView
的内容宽度而不更改webView's
框架并将scroll bar
设置在webView
的右边缘。
有可能实现吗?
请分享您的想法。
谢谢。
答案 0 :(得分:1)
[webView setOpaque:NO];
[webView setBackgroundColor:[UIColor redColor]];
NSString *htmlString = @"<html>\
<body>\
<div style='width:33%; color:white; background-color:black; margin:0px auto; text-align:center;'>Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</div>\
</body>\
</html>\
";
[webView loadHTMLString:htmlString baseURL:nil];
webView
。margin:0px auto;
属性使 div 居中。width:33%
。结果是: -
答案 1 :(得分:0)
从iOS 5开始,UIScrollView属性可用于UIWebView。您可以通过在委托中实现webViewDidFinishLoad:消息来使用它来调整视图大小,如下所示:
-(void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect newBounds = webView.bounds;
newBounds.size.height = webView.scrollView.contentSize.height;
webView.bounds = newBounds;
}
或者
[self.webView stringByEvaluatingJavaScriptFromString:
[NSString stringWithFormat:
@"document.querySelector('meta[name=viewport]').setAttribute('content', 'width=%d;', false); ",
(int)self.webView.frame.size.width]];