2016-01-20 36 views
0

我正在尝试将图像设置为按钮。为了尝试,我在Storyboard上添加了一个ImageView和一个Button。我连接到我的视图控制器。将图像设置为UIButton用蓝色填充它

@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

我在做什么错?

+0

确保按钮是'UIButtonTypeCustom'。在故事板上,您可以将其类型从“系统”更改为“自定义”。 –

+1

仅供参考 - 它看起来像[某人有类似的问题](http://stackoverflow.com/questions/24243547/swift-how-to-display-image-over-button)。 –

+0

@senty了解更多关于autolayout的信息http://stackoverflow.com/questions/17800288/autolayout-intrinsic-size-of-uibutton-does-not-include-title-insets –

回答

0

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

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

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

1

我有同样的问题,并将按钮类型从系统切换到自定义固定的问题