繁体   English   中英

使用图像选择器控制器的Swift Circle Image

[英]Swift Circle Image using image picker controller

我正在制作一个需要访问用户图像库的应用程序,当他为个人资料图像选择图像时,该图像应变为圆形。 这是问题的屏幕截图: 在此处输入图片说明

以及项目中使用的示例代码

@objc func makeImageRounded(image: UIImageView){
        image.layer.cornerRadius = image.frame.size.width / 2
        image.clipsToBounds = true
    }

调用此函数

   imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]){
            self.perform(#selector(makeImageRounded(image:)), with: profilePicture, afterDelay: 0)

    }

尝试使用imageView宽高比= 1

func viewDidLayoutSubviews
{
    image.layer.cornerRadius = image.frame.size.width / 2
    image.clipsToBounds = true

}

并打电话

self.view.layoutIfNeeded()

您的ImageView应该具有相等的宽度和高度[200 * 200/100 * 100]

设置ImageView contenMode,ScaleToFill / AspectFill / AspectFit

image.backGroundcolor = UIColor.red // To check imageView is in Circular or not
image.layer.cornerRadius = image.frame.size.width / 2 // To get Rounded Corner

image.clipsToBounds = true // To Trim Outer frame

您的imageView是否未取整?

尝试

image.layer.cornerRadius = image.frame.size.width / 2
image.clipsToBounds = true
self.view.layoutIfNeeded()

如果仍然无法使用,则是内容模式问题。 您可以通过设置imageView的背景色进行检查

如果将内容模式设置为AspectFill或scaleToFill,则可以看到图像将被填充到其边界。

imageView.layer.cornerRadius = image.frame.size.height / 2
imageView.clipsToBounds = true
self.view.layoutIfNeeded()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM