试图让UIImageView成为一个圆圈,它会出现两次

时间:2015-08-18 08:56:45

标签: ios swift uiimageview

我正在尝试将一个imageview作为一个圆圈添加到一个uiview中。我在swift中调用以下代码,但是在将图像校正为圆形之前,它会使图像短暂错误地显示

   override func viewDidLayoutSubviews() {
      super.viewDidLayoutSubviews()
      theirPicMaskFour.layer.cornerRadius = theirPicMaskFour.frame.height / 2
      theirPicMaskFour.layer.masksToBounds = false
      theirPicMaskFour.layer.borderWidth = 0;
      theirPicMaskFour.clipsToBounds = true
  }

以下是它最初的样子。 enter image description here

以下是它的照顾方式。 enter image description here

2 个答案:

答案 0 :(得分:1)

尝试

theirPicMaskFour.layer.cornerRadius = theirPicMaskFour.frame.size.width / 2

而不是

theirPicMaskFour.layer.cornerRadius = theirPicMaskFour.frame.height / 2

答案 1 :(得分:0)

尝试theirPicMaskFour.layer.masksToBounds = true并在指定之前注销高度,以确保高度不是普通的

[编辑] Alloc并在viewDidLoad中初始化它,但更新viewDidLayoutSubviews中的圆形矩形,因为它将被多次调用,但帧上的更改不会影响它,因为它将保持相同。