UIImageView没有调整大小

时间:2017-07-13 19:35:28

标签: ios swift3 uiimageview xcode8

我使用Swift 3.0和Xcode 8,我在图像大小调整方面遇到了一些问题。这是我设置UIImage框架的代码。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<body>
  <img id="wallpaper" src="http://www.planwallpaper.com/static/images/kartandtinki1_free-wallpaper_13.jpg">

</body>

</html>

这是我在tableView中调用我的函数的地方。我没有设置图像的任何问题,但只能调整大小。当我使用较小的图像时,图像较小,当我使用较大的图像时,图像变大,它不会调整大小。

  open func setData(_ data: Any?, image: String) {

    self.textLabel?.font = UIFont.boldSystemFont(ofSize: 10)
    self.textLabel?.textColor = UIColor(hex: "000000")
    if let menuText = data as? String {
        self.textLabel?.text = menuText
    }

    self.imageView?.contentMode = UIViewContentMode.scaleToFill
    self.imageView?.frame = CGRect(x: 12, y: 8, width: 10, height: 10)
    self.imageView?.image = UIImage(named: image)   
    self.imageView?.clipsToBounds = true

}

2 个答案:

答案 0 :(得分:1)

我通过使用此调整大小功能来调整图像大小然后放入ImageView

func imageResize(image:UIImage,imageSize:CGSize)->UIImage
{
    UIGraphicsBeginImageContextWithOptions(imageSize, false, 0.0)
    [image .draw(in: CGRect(x: 0, y: 0, width: imageSize.width, height: imageSize.height))]
    let newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext()
    return newImage!
}

答案 1 :(得分:1)

如果您使用的是uitableview单元格的默认图像视图,那么您将无法调整其大小。一些默认约束已经存在。

您有两种选择:

  1. 创建uitableview单元格的子类并使用您自己的图像视图(不要使用名称imageView创建插座,尝试其他方法)。

  2. 使用https://stackoverflow.com/a/45100626/5383852

  3. 调整图片大小