Iphone 自定义UIView触摸区域

Iphone 自定义UIView触摸区域,iphone,ios,uiview,touchesbegan,Iphone,Ios,Uiview,Touchesbegan,您好,我有一些奇怪的形状,我需要处理上的touchsbegind方法。问题是,ui视图是正方形的,我唯一能做的就是声明一个网格,然后检查坐标。还有其他方法吗?在UIView子类中实现hitTest:withEvent:。仅当CGPoint位于形状内部时,才返回YES 有关多边形形状,请查看此问题: 在UIView子类中实现hitTest:withEvent:。仅当CGPoint位于形状内部时,才返回YES 有关多边形形状,请查看此问题: 此外,如果您有机会在2012年世界野生动植物保护大会(WW

您好,我有一些奇怪的形状,我需要处理上的
touchsbegind
方法。问题是,
ui视图
是正方形的,我唯一能做的就是声明一个网格,然后检查坐标。还有其他方法吗?

在UIView子类中实现
hitTest:withEvent:
。仅当CGPoint位于形状内部时,才返回YES

有关多边形形状,请查看此问题:

在UIView子类中实现
hitTest:withEvent:
。仅当CGPoint位于形状内部时,才返回YES

有关多边形形状,请查看此问题:

此外,如果您有机会在2012年世界野生动植物保护大会(WWDC)上看到这篇关于如何处理复杂触摸事件的演讲,您会觉得非常棒:


此外,如果您有机会在2012年世界野生动植物保护大会(WWDC)上看到这篇关于如何处理复杂触摸事件的演讲,您会觉得非常棒:


Touchs*方法提供一组UITouch对象,可以使用方法(locationInView:IIRC)找到这些触摸的坐标。是的,但是如果我有奇怪的uiview形状,就会有透明区域。考虑检测触摸区域是否透明。这基本上意味着我需要为每个区域声明区域。有点麻烦,工作量太大。Touchs*方法会给你一组UITouch对象,这些触摸的坐标可以使用方法(locationInView:IIRC)找到。是的,但是如果我有奇怪的uiview形状,就会有透明区域。考虑检测触摸区域是否透明。这基本上意味着我需要为每个区域声明区域。有点麻烦,工作太多。