找出UIBUtton的透明区域

时间:2015-12-11 14:08:02

标签: ios

我有UIImage,其中半部分是透明的,我现在已经将该图像设置为UIButton。现在我想给该UIButton提供触摸事件。 但我想触摸UIButton(图片)的非透明区域。任何身体都请帮助我。

2 个答案:

答案 0 :(得分:1)

你不需要UIButton。使用简单的UIImageView并将UITapGestureRecognizer添加到该imageView。

然后你可以得到触摸坐标: How do I get the coordinates for finger tapping in UIView?

并计算此坐标是否在图像的透明部分。

答案 1 :(得分:0)

您可以创建一个透明的UIView,并将其添加到您想要响应触摸的图像上,而不是将图像添加到UIButton。然后,您可以在该视图中添加UITapGestureRecogniser,从而节省您使用坐标等方法。

let tapView = UIView(frame: CGRect(0,50, 50, 25))   // change frame to suit
tapView.alpha = 0
let tapGesture = UIGestureRecogniser(target: self, action: "myAction")
tapView.addGestureRecogniser(tapGesture)
myImageView.addSubview(tapView)

// etc

func myAction(){
    // some action
}