如何修改内容框架(例如文本)UIWebView
?
请检查下面的图片,它解释了我的要求。
在上图中,带有黄色边框的框是UIWebView
框架,红色是它的内容(HTML text in webView
)。黑线(靠近黄色框)是scroll bar
应该出现的地方。所以我需要的是,只减少内容宽度UIWebView
而不改变webView's
框架scroll bar
并将webView
.
有没有可能实现?
请分享你的想法。
谢谢你。
[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%
。结果是:-
UIScrollView 属性可用于从 iOS 5 开始的 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]];