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