2015-10-27 125 views
1

我使用透明PNG創建了UIButton。帶有透明背景圖像的UIButton不能正常工作

instantHelpBtn = UIButton() 
instantHelpBtn.frame = CGRectMake(10, 10, 30, 30) 
instantHelpBtn.setBackgroundImage(UIImage(named: "questions1.png"), forState: .Normal) 
instantHelpBtn.addTarget(self, action: "instantHelpBtnPressed", forControlEvents: .TouchUpInside) 
self.view.addSubview(instantHelpBtn) 

的問題是功能instantHelpBtnPressed工作只有我莫名其妙地按背景圖像的非透明部分。如果我想念(而且我經常想念),沒有任何反應。我怎麼能改變這種行爲?

+0

增加你的按鈕框架,問題解決否則減少你的圖像框架問題解決 –

回答

2

問題是你的按鈕框架。您正在創建30X30UIButton其中,根據Apple iOS人機界面指南,最小大小應爲44X44

+0

它的工作原理,謝謝! – lithium

+0

很高興幫助...乾杯:)! – Abhinav

0

怎麼樣,而不是將其設置爲透明圖像做...

instantHelpBtn.backgroundColor = UIColor.clearColor() 

如果你想點擊時將其設置爲圖像做...

func instantHelpBtnPressed(sender: UIButton) { 
    sender.setBackgroundImage(UIImage(named: "questions1.png"), forState: .Normal) 
}