在我的tableviews自定义单元格中,我有一张图片:
我想得到cornerRadius = 20。 但出于某种原因,我已经使用了这段代码而无法工作:
cell.offerImage.layer.cornerRadius = 20
cell.offerImage.clipsToBounds = true
Imageview内容模式是Aspect Fit。这很有趣,因为我试图玩它,当我使用时:
cell.offerImage.layer.cornerRadius = cell.offerImage.frame.size.width / 2
我得到了一些奇怪的角落,而不是我预期的那一轮。就像cornerRadius在imageView而不是图像上,我不知道图像的精确尺寸(从服务器上传)。
答案 0 :(得分:1)
这对我有用 我检查了 .xib 文件中的 clipsToBound
imageView.layer.cornerRadius = 50
答案 1 :(得分:0)
问题是UIImageView
上的角半径 而UIImage
上没有,因为您正在使用 Aspect Fit ,你的形象可能不会填满角落。
您需要根据从服务器获取的图片尺寸来调整UIImageView
的尺寸。
从图片中看,您可以调整图片的宽度。我建议您为设置@IBOutlet
宽度的约束设置UIImageView
,然后在设置图片时调整constant
。
@IBOutlet weak var imageViewWidth: NSLayoutConstraint!
然后
imageViewWidth.constant = imageViewHeight * image.size.width / image.size.height
其中imageViewHeight
是imageView
的高度。如果您不了解它,可以通过为UIImageView
创建一个插座然后获取其.frame.height
来获取它。
答案 2 :(得分:0)
您需要添加
imageView.clipsToBounds = true