我正在尝试在ios应用程序中加载圆形imageview。
我已经尝试了堆栈溢出中列出的所有组合,但是仍然遇到相同的错误。我在这里尝试了所有提到的步骤
How to set imageView in circle like imageContacts in Swift correctly?

我所做的是这个


我在情节提要中创建了一个图像视图-高度= 300,宽度= 300,视图模式=高宽比适合。
我定义了约束以将图像视图放置在水平和垂直中心。还定义了从上边缘和右边缘开始的尾部


4个约束如下

i. ImageView.centerY = centreY
ii.ImageView.centerY = centreY
iii. ImageView.top = TopLayoutGUide.bottom + 103
iv. trailingMargin = ImageView.trailing + 125



在我的控制器文件中,我声明了,并且将IBOutlet用于imageview为

@IBOutlet var imageView: UIImageView!

在我的控制器文件中,我使用了以下代码来使其循环

func circularImage(photoImageView: UIImageView?)
{
photoImageView!.layer.frame = CGRectInset(photoImageView!.layer.frame, 0, 0)
photoImageView!.layer.borderColor = UIColor.grayColor().CGColor
photoImageView!.layer.cornerRadius = photoImageView!.frame.width/2
photoImageView!.layer.masksToBounds = false
photoImageView!.clipsToBounds = true
photoImageView!.layer.borderWidth = 0.5
photoImageView!.contentMode = UIViewContentMode.ScaleAspectFill
}



但是,我正在获得一个椭圆形的图像视图。

最佳答案

尝试这个:

@IBOutlet var imageView: UIImageView! {
    didSet {
        imageView.layer.borderColor = UIColor.grayColor().CGColor
        imageView.layer.cornerRadius = imageView.frame.width/2
        imageView.clipsToBounds = true
        imageView.layer.borderWidth = 0.5
    }
}


而且,如果您愿意,可以在情节提要中设置clipsToBounds,而不用在这里使用它。

根据您何时调用编写的circularImage函数,图像上的框架可能尚不正确。

如果这不能解决问题,则您可能会遇到一些约束问题-确保高度和宽度为高优先级,如果使用水平和垂直中心,请考虑删除上下约束。

07-24 09:49
查看更多