UIImageView.image比UIImageView更大

时间:2015-04-02 00:26:35

标签: objective-c image imageview

我在自定义tableview单元格中有一个UIImageView。当我设置UIimageview属性时,uiimageview.image比uiimageview大。为什么? 这是代码:

cell.imageView.image=[UIImage imageNamed:@"BlueMooseLogo.png"];

这是一个指向细胞外观的链接。蓝色方块是imageview的背景,蓝色驼鹿是图像。 https://docs.google.com/document/d/1G7BYCriYbSGYHryP5OI7XHuVpqRKiNcBrxdY14wDgoA/edit?usp=sharing

如果它是相关的,在界面构建器中,在我选择uiimageview之后,我将视图设置为缩放以填充。

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并尝试了很多方法来修复它,最后,我做到了。当您尝试将图像分配给UIImageView时,请将图像调整为缩略图图像,然后使用此缩略图图像进行显示。以下代码仅供您参考。

static func resizeImage(image:UIImage, toTheSize size:CGSize) -> UIImage{
    let scale = CGFloat(max(size.width/image.size.width,
    size.height/image.size.height))
    let width:CGFloat  = image.size.width * scale
    let height:CGFloat = image.size.height * scale;

    let rr:CGRect = CGRectMake( 0, 0, width, height);

    UIGraphicsBeginImageContextWithOptions(size, false, 0);
    image.drawInRect(rr)
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext();
    return newImage
}

答案 1 :(得分:-1)

您最有可能希望内容模式为“Aspect Fit”而不是“Aspect Fill”。

cell.imageView.contentMode = UIViewContentModeScaleAspectFit;

答案 2 :(得分:-1)

我认为这将是一个剪辑子视图问题。

检查您的UIImageView属性。

  • 故事板:检查“属性”检查器中的剪辑子视图
  • 代码:imgView.clipsToBounds = YES