2016-11-09 36 views
3

我有這樣的UIButton和圖像,以適應英寸 我不希望像把所有的按鈕內它的空間,但只是一小部分在市中心,但如果我調整按鈕,它會調整圖像也是如此。 我該怎麼做,是否有一個選項來設置我想要獨立於UIButton大小的任何維度? 謝謝!如何調整UIButton中的圖像大小?

+0

你是問如何通過界面生成器或通過代碼做到這一點? – rmaddy

回答

1

我會做這種方式:

一個UIButton只是一個UIView。您可以簡單地添加一個帶有設置圖像的UIImageView,並在UIButton上致電addSubview

您還應該在UIImageView上設置userInteractionEnabledfalse

+0

感謝大家,但這對我有幫助! –

+1

userInteractionEnabled設置爲false在默認的UIImageView – aryaxt

+0

我不能相信我這個從來沒有新的,現在我沒有與插圖哈哈奮鬥!謝謝 – RickS

4

您可以用圖像視圖插圖實驗。每個UIButton都有一個屬性imageView。

在斯威夫特3,你可以做到這一點,像這樣:

//let button = UIButton() 
button.imageView?.backgroundColor = UIColor.red 
button.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10) 

紅色背景只是讓你知道什麼是改變

5

這可以通過代碼通過以下方式進行:

let imageSize:CGSize = CGSize(width: 20, height: 20) 

let button:UIButton = UIButton(type: UIButtonType.custom) 
button.frame = CGRect(x: 200, y: 200, width: 60, height: 60) 
button.backgroundColor = UIColor.yellow 
button.setImage(UIImage(named: "chat.png"), for: UIControlState.normal) 
// The below line will give you what you want  
button.imageEdgeInsets = UIEdgeInsetsMake(button.frame.size.height/2 - imageSize.height/2, button.frame.size.width/2 - imageSize.width/2, button.frame.size.height/2 - imageSize.height/2, button.frame.size.width/2 - imageSize.width/2) 

self.view.addSubview(button) 

這樣,你可以達到你想要的。