如何在较大尺寸的webview中居中小尺寸svg图标?

时间:2017-03-09 17:51:09

标签: ios objective-c svg webview

我正在使用Webview在我的应用中加载svg图标。通过使用scalesPageToFit属性,它适用于大图像。现在,当使用小尺寸图标来适应webview框架时,我遇到了问题。

e.g。 -
WebView大小 - 150w * 150h 图标尺寸 - 30 * 30

在这种情况下,图标会对齐webview的左上角位置。是否有任何建议将其置于Web视图中或在webview框架中放大?有什么建议吗?

    NSURL *imageURL = [NSURL URLWithString:@"...badge.svg"];
    NSURLRequest *request = [NSURLRequest requestWithURL:imageURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval: 10.0];
    [self.menuView.webView loadRequest:request];
    self.menuView.webView.delegate = self;

//委托方法

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
CGSize contentSize = webView.scrollView.contentSize; 
CGSize webViewSize = webView.bounds.size; 
CGFloat scaleFactor = webViewSize.width / contentSize.width;
webView.scrollView.minimumZoomScale = scaleFactor;
webView.scrollView.maximumZoomScale = scaleFactor;
webView.scrollView.zoomScale = scaleFactor;
webView.scrollView.scrollEnabled = NO;
}

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个;

NSString *bodyStyleVertical = @"document.getElementsByTagName('body')[0].style.verticalAlign = 'middle';";
NSString *bodyStyleHorizontal = @"document.getElementsByTagName('body')[0].style.textAlign = 'center';";

[webView stringByEvaluatingJavaScriptFromString:bodyStyleVertical];
[webView stringByEvaluatingJavaScriptFromString:bodyStyleHorizontal];