我在地图上有一个自定义注释视图,其中有一个UIButton
其中,但是UIButton
按下时没有反应。我在注释视图上的用户交互方面遇到两个主要问题:
- 按钮和其他控件没有响应。
- 我希望注释根据我的实现来阻止触摸
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event
- 也就是说,如果我返回“是”,那么我不希望触摸被发送到MKMapView
(可能选择我的注释视图后面的其他注释),在这种情况下我想自己处理触摸。
我已经确定userInteractionEnabled
被设定为YES
我研究了如何将触摸发送到自定义注释视图(我的子类)MKAnnotationView
)通过覆盖touchesBegan
等等 - 但似乎触摸通常被取消(我想我已经设法得到touchesEnded
几次) - 所以看起来甚至很难手动实现与自定义注释视图的任何用户交互。
有谁对允许更多用户交互有任何见解吗?MKAnnotationView
物体?
我在同事的帮助下成功解决了这个问题。解决方案是覆盖- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent*)event
。我们的假设是MKAnnotationView
(您的注释视图必须继承它)覆盖它以执行“错误”的操作(大概是这样注释选择不会在重叠注释之间被阻止)。所以你必须重新覆盖它来做正确的事情并返回适当的UIView
,然后系统会将事件发送给它,用户将能够与其交互:)。这具有有益的(在本例中)副作用,即交互式注释会阻止对其后面的注释的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)