我有一个带有嵌入式 MapView 的自定义表格单元,显示一个小区域。当用户选择单元格时,我想推送一个具有更大地图视图和更多信息的新视图,例如与您所在位置的距离、地图类型的选项等。
如果我在我的地图视图周围留下一个小边距,用户可以单击该边距以选择单元格,但是如果他们在地图视图内单击,我该如何选择单元格?
问候,
-Vegar
我有一个带有嵌入式 MapView 的自定义表格单元,显示一个小区域。当用户选择单元格时,我想推送一个具有更大地图视图和更多信息的新视图,例如与您所在位置的距离、地图类型的选项等。
如果我在我的地图视图周围留下一个小边距,用户可以单击该边距以选择单元格,但是如果他们在地图视图内单击,我该如何选择单元格?
问候,
-Vegar
我认为您需要覆盖从UIView继承的 hitTest 方法
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
此方法通过向每个子视图发送 pointInside:withEvent: 消息来遍历视图层次结构,以确定哪个子视图应接收触摸事件。如果 pointInside:withEvent: 返回 YES,则遍历子视图的层次结构;否则,其视图层次结构的分支将被忽略。您很少需要调用此方法,但您可能会覆盖它以隐藏子视图中的触摸事件。
尝试将 MapView 的userIteractionEnabled
属性设置为 NO