如何在按钮上设置图像

问题描述 投票:2回答:3

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

在这种情况下,我按下按钮时从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?

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

谢谢!

ios swift button uiimagepickercontroller
3个回答
1
投票
    someButton.setImage(imagenew, for: .normal)

UIButton有一种setimage方法。您还可以将图像设置为背景图像。有一种叫做setbackgroundImage的方法。


0
投票

试试这个

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

0
投票

使用setImage()方法设置按钮的前景图像。但是,如果你的按钮都是蓝色的,那是因为你应该知道有一个叫做“渲染模式”的图像功能,请参考Template Images获取更多信息:

button.setImage(image.withRenderingMode(.alwaysOriginal), for: .normal)
© www.soinside.com 2019 - 2024. All rights reserved.