【问题标题】:UIImageView variable Image sizeUIImageView 可变图像大小
【发布时间】:2013-01-14 04:11:39
【问题描述】:

首先,我尝试从远程 url 延迟加载图像,到目前为止我所做的如下, - 我使用 XIB 创建了自定义 UITableViewCell,其中包含 UIImageView 和其他标签,并将其映射到我的自定义 UITableViewCell 类。 - 我在 UITableView 中使用自定义表格单元格 - 自定义单元格内的 UIImageView,根据 Apple 的教程加载远程图像,用于 tableview 的延迟加载图像 - 最初 ImageView 显示加载图像,一旦加载图像,加载的图像在 ImageView 内部更新,如果失败,则不会显示任何图像

这里的问题是,远程图像的大小是可变的,假设图像小于 ImageView 框架,图像会拉伸并显示为模糊,但是一旦我们滚动或选择行,它就会重新调整为实际大小看起来不错。 同时,如果图像大于 ImageView 框架,它会正确地适合框架内,但是如果我们滚动或选择行,它占据的大小大于框架并隐藏行中的其他元素

我搜索了几个小时,我得到的只是将内容模式设置为 UIViewContentModeScaleToFit 并将 clipsToBounds 设置为“是”,我在 XIB 和代码中都进行了这些更改,但它没有改变任何东西。有人可以指出我做错了什么或如何解决此问题。

谢谢。

【问题讨论】:

    标签: ios image uiimageview uiimage


    【解决方案1】:

    随心所欲地抓取图像

    UIImage *customImage = [UIImage imageWithContentsOfFile:theImagePath];
    

    然后使用以下命令检查图像的大小:

    NSLog(@"the customImage width is %f and height is %f ",customImage.size.width,customImage.size.height);
    

    然后修改您放置它的框架的宽度和高度,以便将它们设置为原始图像的相等部分(同时仍然适合必要的边界)

    float newWidth =  customImage.size.width *.4;
    float newHeight = customImage.size.height *.4;
    ImageButton.frame = CGRectMake(x coord, y coord, newWidth, newHeight);
    

    如有必要,您还可以添加方面适合/填充

    【讨论】:

      【解决方案2】:

      我只是重新调整了图像的大小,如果图像的宽度和高度大于框架大小并在其上显示调整大小的图像,如果图像尺寸小于我显示的框架。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-15
        • 2016-04-14
        • 1970-01-01
        • 2011-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多