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 单元格的默认图像视图,那么您将无法调整它的大小。一些默认约束已经存在。
您有两个选择:
创建 uitableview 单元格的子类并使用您自己的图像视图(不要创建名为 imageView 的插座,尝试其他名称)。
使用
调整图像大小
我正在使用 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 的插座,尝试其他名称)。
使用
调整图像大小