0

我正在开发一个可以从网络上检索图像的应用程序。我没有实际下载图像,而是尝试在 UIWebView 中显示它们。我真的需要图像在我的屏幕上具有特定大小,所以我制作了一个我需要大小的 webview,并告诉它 scalesPageToFit,但是当我运行时,图像在视图中的大小不正确。我正在使用 1024x768 图像作为测试,并尝试了无数次视图大小的迭代以使其在我的屏幕上正确,但我要么最终得到不合逻辑的大小,要么被剪辑。

这是原始图像;http://www.coolopticalillusions.com/backgrounds/freaky-desktop-background-7.jpg

我正在尝试使图像宽 300,保留纵横比,这意味着视图应该是 245 高。

第一张截图是一个 300x245 的 UIWebView,你可以看到宽度是正确的,但高度是不对的,红框应该与图像底部完全对齐 http://img839.imageshack.us/f/sizecropped。 .png/

第二张截图是 300x300 的,它把图像缩放到视图太宽,也太高了。 http://img155.imageshack.us/f/sizetoobig.png/

我已经挣扎了一段时间试图让它做我想做的事,但我只是没有任何成功。

编辑:我拥有的唯一相关代码是:

NSMutableString *urlString = [[NSMutableString alloc] initWithString:@"http://www.coolopticalillusions.com/backgrounds/freaky-desktop-background-7.jpg"];
NSURL* url = [[NSURL alloc] initWithString:urlString];
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:url];
[messageView.imageWebView loadRequest:urlRequest];
messageView.imageWebView.scalesPageToFit = YES;
4

1 回答 1

1

我将首先使用应用程序框架作为框架创建 webview。然后,您可以将图像添加到具有您的尺寸(300x245)的新图像视图中。将图像作为子视图添加到 webview。

    CGRect frame = [[UIScreen mainScreen] applicationFrame];
    webView = [[UIWebView alloc] initWithFrame:frame];

    // get image from web
    id path = @"http://www.coolopticalillusions.com/backgrounds/freaky-desktop-background-7.jpg";
    NSURL *url = [NSURL URLWithString:path];
    NSData *data = [NSData dataWithContentsOfURL:url];
    UIImage *img = [[UIImage alloc] initWithData:data cache:NO];

    // create new image view with your prefered size
    UIImageView *imageView = [[UIImageView alloc] initWithImage:img];
    imageView.frame = CGRectMake(0, 0, 300, 245);

    // add image view to your webview
    [webView addSubview:imageView];

让我知道这是否有帮助。

于 2011-03-28T19:55:15.083 回答