Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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
Ios UIImageView未调整大小_Ios_Swift3_Uiimageview_Xcode8 - Fatal编程技术网

Ios UIImageView未调整大小

Ios UIImageView未调整大小,ios,swift3,uiimageview,xcode8,Ios,Swift3,Uiimageview,Xcode8,我使用的是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 = d

我使用的是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单元格的默认图像视图,则无法调整其大小。一些默认约束已经存在

您有两个选择:

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

  • 使用以下命令调整图像大小:


  • 如果这是默认表单元格中的imageView,则它可能具有一些默认约束。你有没有试过制作自己的细胞亚类?@mag_zbc现在我要试试