如何在按钮上设置图像

时间:2017-05-06 11:20:18

标签: ios swift button uiimagepickercontroller

我是新手,我搜索过不同的地方,但实际上找不到任何有用的东西。

在这种情况下,我按下按钮时从UIImagePickerController选择图像:

@IBAction func chooseImage(_ sender: Any){}

哪个有效,我可以访问照片库并选择图像但是.. 问题是我想将它设置为按钮图像。 我将图像保存到:

func imagePickerController(_ picker: UIImagePickerController,   didFinishPickingMediaWithInfo info: [String : Any])
{
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage

    // this works with an UIimageView.image but I can't get it to work with the button

    ???.image = image

我相信这样做的方法是说; button.ImageView.image = image这只能通过创建一个名为UIButton的变量来完成! 然后我可以设置

button.ImageView.image = image

否则我无法输入方法ImageView.image

但问题是chooseImage与我用于接收图像的动作相同的按钮...所以我可以制作一个@IBOutlet弱变量按钮:UIButton!和@IBAction在同一个按钮?? 好吧,我试过并创建了一个

@IBOutlet weak var button: UIButton!

@IBAction func chooseImage(_ sender: Any) {

button.imageView.image = image
}

但没有发生这可能听起来令人困惑,但有两个问题。有可能这样做吗?如果是的话,为什么在进行

时不会显示图片
 button.imageView.image = image?

如果没有,请告诉我我做错了什么: - )

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个

button.setImage(image, for: .normal) // Swift 3

答案 1 :(得分:0)

使用 setImage ()方法设置按钮的前景图像。但是,如果您的按钮都是蓝色的,那就是因为有一个图像功能称为" 渲染模式"您应该了解,请参阅Template Images了解更多信息:

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