如何使用 Swift 正确设置圆形 imageView?

Posted

技术标签:

【中文标题】如何使用 Swift 正确设置圆形 imageView?【英文标题】:How to correctly set a circle imageView with Swift? 【发布时间】:2015-08-05 04:11:47 【问题描述】:

我正在尝试制作一个圆形图像配置文件,例如 instagram/whatsapp 的配置文件图像。现在我的代码似乎可以正常工作,但我以两种不同的方式完成了它,并且两种方法都有效,所以我想知道哪个是最好的

第一种方式:

profileImageView.layer.cornerRadius = profileImageView.frame.width / 2
profileImageView.clipsToBounds = true

第二种方式

profileImageView.layer.cornerRadius = profileImageView.frame.width / 2
profileImageView.layer.masksToBounds = true

我还想知道是否有人可以向我解释“clipToBounds”和“maskToBounds”的作用。谢谢!

【问题讨论】:

您可以查看clipsToBoundsmasksToBounds : ***.com/questions/1177775/… 【参考方案1】:

clipsToBounds 是一个布尔值,用于确定子视图是否被限制在视图的边界内。 将此值设置为 YES 会导致子视图被裁剪到接收器的边界。如果设置为 NO,其帧超出接收器可见边界的子视图不会被剪裁。默认值为 NO。 基本上,这个东西与视图的属性有关。

而 maskToBounds 是一个布尔值,指示子层是否被裁剪到层的边界。这个东西与视图的层一起玩。

【讨论】:

【参考方案2】:

我总是这样做的方式,特别是在我想在我的应用程序中显示个人资料图片的情况下,我使用以下代码:

profileImage.layer.cornerRadius = self.profileImage.frame.size.width / 2;
profileImage.clipsToBounds = true;

这是我推荐的做法!

【讨论】:

OP 不要求代码。 OP询问哪个代码是击球手以及为什么我们必须这样使用。 OP 已经定义代码工作正常。 谢谢,很高兴知道其他人使用相同的代码制作圆形图像!谢谢!

以上是关于如何使用 Swift 正确设置圆形 imageView?的主要内容,如果未能解决你的问题,请参考以下文章

创建圆形动画的正确方法是什么?

Swift:如何将自定义 UICollectionViewCell 设置为圆形?

在 swift 3 中在圆形图像视图周围添加填充?

如何快速设置圆形图像

如何在 Swift 中创建一个圆形按钮? [关闭]

为 CollectionView [Swift] 的单独 Cell 设置圆形标签