如何让UIButton响应触摸PNG图像的透明区域?

Ant*_*one 13 uibutton uikit uiimage ios

如果在没有图像alpha的地方触摸它,UIButton会忽略触摸.我可以更改它以响应其整个范围的触摸吗?

Sea*_*anT 9

我实际上一直这样做,我把图像与透明背景UIImageView放在UIButton一起,然后把它的backgroundColor设置[UIColor clearColor]放在图像的顶部.这样,特别是对于小图像,我可以使"隐形"按钮更大,更容易为用户按下.


Cal*_*leb 6

如果在没有图像alpha的地方触摸它,UIButton会忽略触摸.我可以更改它以响应其整个范围的触摸吗?

我认为仍然有效的一种简单方法是将背景颜色设置为仅大部分透明的颜色.一个非常小但仍然大于0.1的alpha应该看起来透明,但仍然会对触摸做出反应.

否则,是的,您可以覆盖-hitTest:withEvent:,即使触摸的区域是透明的,它也会返回YES.