UIImageView 不调整大小

UIImageView not resizing

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

  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

}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = BaseTableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: BaseTableViewCell.identifier)
        cell.setData(menus[indexPath.row], image: images[indexPath.row])
        return cell 
}

我已经解决了这个问题,方法是使用这个调整大小功能调整我的图像大小,然后将其放入 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!
}

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

您有两个选择:

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

  2. 使用

  3. 调整图像大小