gpt4 book ai didi

ios - 为表格 View 单元格图像创建圆形图片

转载 作者:行者123 更新时间:2023-11-28 15:49:36 27 4
gpt4 key购买 nike

我正在尝试在 tableview 单元格中制作圆形图像,我在 stackoverflow 上看到了各种方式,但这是我得到的最接近的方式:

Pics

如您所见,它们看起来更像椭圆而不是圆形。在 Storyboard 中,我将约束设置为保持纵横比 1:1 和 View 模式“纵横比填充”。我正在为圆形使用这个 UIImage 扩展:

extension UIImage {
var circleMask: UIImage {
let square = CGSize(width: min(size.width, size.height), height: min(size.width, size.height))
let imageView = UIImageView(frame: CGRect(origin: CGPoint(x: 0, y: 0), size: square))
imageView.contentMode = UIViewContentMode.scaleAspectFill
imageView.image = self
imageView.layer.cornerRadius = square.width/2
imageView.layer.borderColor = UIColor.white.cgColor
imageView.layer.borderWidth = 5
imageView.layer.masksToBounds = true
UIGraphicsBeginImageContext(imageView.bounds.size)
imageView.layer.render(in: UIGraphicsGetCurrentContext()!)
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result!
}
}

这是我的 cellForRowAt IndexPath 的样子:

  let cell = detailTableView.dequeueReusableCell(withIdentifier: castResuseIdentifier)
as! CastCell

let cast = castArray[indexPath.row]

cell.actorName.text = cast.name
cell.characterName.text = cast.character
cell.actorProfileImage.image = castImageArray[indexPath.row].circleMask

self.detailTableView.rowHeight = 100
detailTableView.allowsSelection = true

return cell

不确定为什么它们不是完美的圆圈,知道吗?

最佳答案

这是实现该效果的一种非常低效的方法,因为您每次都在创建一个 UIImageView 并将其渲染到一个单独的图像上下文。

要获得一种快速简便的方法,只需为 CastCell 中的 actorProfileImage View 层设置 cornerRadius 属性。

关于ios - 为表格 View 单元格图像创建圆形图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com