将图像设置为UIButton用蓝色填充它

时间:2016-01-20 17:15:13

标签: ios swift image uibutton

我正在尝试将图像设置为按钮。为了尝试,我在故事板上添加了一个ImageView和一个Button。我将两者连接到我的视图控制器。

@IBOutlet weak var testImage: UIImageView!
@IBOutlet weak var testButton: UIButton!

然后我尝试在线获取图像并设置它们。获取数据后,

...
 dispatch_async(dispatch_get_main_queue()) {
    if let image = data {
         self.testButton.setImage(UIImage(data: image), forState: UIControlState.Normal)
         self.testImage.image = UIImage(data: image)
    }
 }

此时,testImage设置的图像非常完美,但testButton变成了一个蓝色矩形。

enter image description here

我做错了什么?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,将按钮类型从系统切换到自定义修复了问题

答案 1 :(得分:0)

按钮可能会扩展到获取图像的大小。这只是我的一个猜测,但如果是这种情况,您可以检查属性检查器,看看是否有一个选项让内容尖叫适合或类似的东西。

如果发生了这种情况,另一种选择是在将图像添加到按钮之前将图像的大小更改为按钮的大小。

不知道是否有帮助。祝你好运!

答案 2 :(得分:0)

遇到相同的问题,请使用以下代码修复它:

self.testButton.setBackgroundImage(image, for: .normal)