我想在我的项目中为UIImageView添加一些圆角。 我写了下面的代码来实现这个,但这不适合我。
有什么建议吗?
btnProfilePic.layer.cornerRadius = 50;
答案 0 :(得分:3)
您需要将masksToBounds
设置为true
self.imageview.layer.cornerRadius = 50;
self.imageview.layer.masksToBounds = true;
答案 1 :(得分:0)
[imgView1.layer setCornerRadius:50];
[imgView1.layer setMasksToBounds:YES];
答案 2 :(得分:0)
btnProfilePic.layer.cornerRadius = btnProfilePic.frame.size.height/2;
btnProfilePic.layer.masksToBounds = YES;
为了提高性能,您可以选择设置
btnProfilePic.layer.shouldRasterize = YES;
注意:对于视图,您要围绕它的高度和宽度必须相同。
答案 3 :(得分:-1)
所有带层的解决方案都非常好,而且工作非常清晰。具有层的解决方案对于动画的性能来说非常昂贵,但是实现起来非常便宜。
您可以使用其他解决方案(我使用它是因为在滚动列表中有很多小的imageView)。您可以使用圆角(以及需要时的边框)准备图像,以便在imageView中显示它。将imageView的backgroundColor设置为clear或与父视图相同,并将准备好的图像设置为imageView。
要调整图片大小,我使用this库添加圆角我已经编写了自定义方法(它构建圆角路径以将其用于剪辑图像),对于我使用的缓存大小调整的图像{{3} }。我在后台队列中运行的所有操作。它的解决方案更复杂,但如果您有许多图像并且滚动动画需要最佳性能,则可以使用它。