2016-01-20 67 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

我有同樣的問題,並將按鈕類型從系統切換到自定義固定的問題