Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UIWebView内容大小_Iphone_Uiwebview_Interface Builder_Contentsize - Fatal编程技术网

Iphone UIWebView内容大小

Iphone UIWebView内容大小,iphone,uiwebview,interface-builder,contentsize,Iphone,Uiwebview,Interface Builder,Contentsize,我正在开发一个可以从网络上检索图像的应用程序。我没有实际下载图像,而是尝试在UIWebView中显示它们。我真的需要图像在我的屏幕上有一个特定的大小,所以我制作了一个我需要的大小的webview,并告诉它scalesPageToFit,但是当我运行时,图像在视图中的大小不正确。我使用1024x768图像作为测试,并尝试了多次视图大小的迭代以使其在我的屏幕上正确显示,但我要么以不合逻辑的大小结束,要么以剪辑结束 这是原始图像 我试图使图像宽度为300,保留纵横比,这意味着视图应为245高 第一个屏

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

这是原始图像

我试图使图像宽度为300,保留纵横比,这意味着视图应为245高

第一个屏幕截图是300x245 UIWebView,您可以看到宽度正确,但高度不正确,红色框应与图像底部完全对齐

第二个屏幕截图是300x300,它将图像缩放得太宽,无法观看,也太高。

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

编辑:我仅有的相关代码如下:

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;

我将首先使用应用程序框架作为框架创建webview。然后,您可以将图像添加到具有您的尺寸(300x245)的新imageview。将图像作为子视图添加到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];

如果有帮助,请告诉我。

如何从网络视图中获取图像?这似乎比我想做的要容易得多,如果我能做到这一点,那么你就可以通过它的url获取UIImage:id path=@;NSURL*url=[NSURL URLWithString:path];NSData*data=[NSData dataWithContentsOfURL:url];UIImage*img=[[UIImage alloc]initWithData:数据缓存:否];哇,这真是太简单了,我希望我能早点知道这个功能,现在我可以只使用图像视图,而不是把它和网络视图搞得复杂起来。非常感谢!将图像视图添加为子视图与在webView中加载图像视图不同。在本例中,webView也可以是普通UIView。