在UIWebView中应用适合图像的宽高比后的图像大小

时间:2014-12-23 10:18:54

标签: html ios ipad uiwebview uiimageview

我正在将图像加载到UIWebView中,并将内容模式设置为宽高比。我看到UIWebView底部有一些空白区域。有没有办法在加载后找到实际的图像宽度和高度?我没有为此目的看到任何直接的API ..我发布了我在这里试过的代码..

    aWebView = [[UIWebView alloc]initWithFrame:mapRect];
    aWebView.userInteractionEnabled = YES;
    aWebView.backgroundColor = [UIColor clearColor];
    aWebView.opaque = NO;
    aWebView.scalesPageToFit = YES;
    aWebView.delegate = self;
    aWebView.scrollView.contentMode = UIViewContentModeScaleAspectFit;
    aWebView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    [self.view addSubview:aWebView];

    NSURL  *url = [NSURL URLWithString:urlText];
    NSURLRequest    *urlRequest = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:120];
    [aWebView loadRequest:urlRequest];
    aWebView.scrollView.delegate = self;
    aWebView.delegate = self;

注意:图像是从远程服务器加载的。这是一个针对iOS 7和iOS 8的Native iOS应用程序。

谢谢..

1 个答案:

答案 0 :(得分:0)

以下是iOS提供的解决方案,用于在给定矩形中渲染图像视图后查找实际大小。

假设origImgSize是实际的物理图像大小,targetImgSize是屏幕上UIImageView的矩形区域..

CGRect sizeBeingScaledTo = AVMakeRectWithAspectRatioInsideRect(origImgSize, CGRectMake(0, 0, targetImgSize.width, targetImgSize.height));

这给出了使用AspectFit模式渲染后图像的实际大小。