为UIImageView添加圆角

时间:2015-08-10 06:59:34

标签: ios objective-c

我想在我的项目中为UIImageView添加一些圆角。 我写了下面的代码来实现这个,但这不适合我。

有什么建议吗?

btnProfilePic.layer.cornerRadius = 50;

4 个答案:

答案 0 :(得分:3)

您需要将masksToBounds设置为true

self.imageview.layer.cornerRadius = 50;
self.imageview.layer.masksToBounds = true;

答案 1 :(得分:0)

如果您的UIImageView ..

,请将setMasksToBound设置为yes
[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} }。我在后台队列中运行的所有操作。它的解决方案更复杂,但如果您有许多图像并且滚动动画需要最佳性能,则可以使用它。