Swift 使用图像选择器控制器的圆形图像
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()
我正在制作一个需要访问用户图片库的应用程序,当他为他的个人资料图片选择图片时,它应该变成圆形。
这是问题的屏幕截图:
以及项目中使用的示例代码
@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()