我正在尝试在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函数,图像上的框架可能尚不正确。
如果这不能解决问题,则您可能会遇到一些约束问题-确保高度和宽度为高优先级,如果使用水平和垂直中心,请考虑删除上下约束。