如何将图像从库设置为UIButton背景?斯威夫特4

时间:2018-03-20 18:20:04

标签: ios iphone swift

我有一个代表用户头像的圆形按钮。通过单击此按钮,我调用ImagePicker,然后尝试将拾取的图像设置为UI按钮。

首先我这样做:

@IBAction func choseAvatar(_ sender: Any) {
    let image = UIImagePickerController()
    image.delegate = self
    image.sourceType = UIImagePickerControllerSourceType.photoLibrary
    image.allowsEditing = false
    self.present(image, animated: true, completion: nil)
}

然后:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage
    userAvatar.setImage(image, for: .normal)
    self.dismiss(animated: true, completion: nil)
}

图像选择成功,但存在问题。图像被拉伸到屏幕的底部。怎么做对了?

enter image description here

我也尝试了

userAvatar.imageView?.contentMode = .scaleAspectFit
userAvatar.imageView?.image = pickedImage

userAvatar.setImage(image.withRenderingMode(.alwaysOriginal), for: .normal)

有什么想法吗?先谢谢你!

1 个答案:

答案 0 :(得分:1)

确保为imageView正确设置了约束。确保使用AspectFit(如果你有一个固定的宽度和高度,请填写),并确保你启用了clipToBounds。