我如何在swift中获得按钮的图像?

时间:2017-09-11 07:20:26

标签: ios swift image button uiimagepickercontroller

我使用此代码将图像设置为按钮

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {


    let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage


        btnImg1.contentMode = .scaleAspectFit
        btnImg1.setImage(chosenImage, for: UIControlState.normal)

dismiss(animated: true, completion: nil)
}

现在我如何获得所选图像,或者我的意思是如何获取按钮的图像?我希望图像保存一些.. 请帮助,提前谢谢

3 个答案:

答案 0 :(得分:4)

UIButton包含ImageView,当你将图像分配给UIImageView时,你可以得到它的.image属性

因此,对于UIButton,请获取ImageView,然后获取Image

button.imageView?.image会将图像分配给UIButton 如果您的按钮具有不同的状态图像,您也可以使用。

    button.image(for: .normal or what ever state)
    button.imageView?.image   

(如果使用.normal设置图像,两者都会得到相同的结果)

enter image description here

@Rooh Al-mahaba如果你有UIButton对象你可以访问UIImageView的所有属性,因为UIButton包含一个UIImageView来处理图像相关的部分

答案 1 :(得分:3)

您只需使用以下代码即可从Button获取图像:

    let image = UIImage(named: "testImage")
    let button = UIButton(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0))
    button.setImage(image, for: UIControlState.normal)

    //Get Image Back from Button
    let imageFromButton : UIImage = button.image(for: UIControlState.normal)

答案 2 :(得分:1)

您可以使用以下代码获取按钮的图像:

let btnImag = btnImg1.image(for: .normal)