public override UIView HitTest(CGPoint point, UIEvent uievent)
        {
            var yOffset           = tableView.ContentOffset.Y;
            var baseHitTestResult = base.HitTest(point, uievent);

            if (yOffset >= 0 || baseHitTestResult == iconBackgroundView)
            {
                return(baseHitTestResult);
            }

            var mapY = -yOffset + tableView.Frame.Top - headerView.Frame.Height;

            if (point.Y <= mapY)
            {
                return(mapView.HitTest(mapView.ConvertPointFromView(point, this), uievent));
            }

            return(base.HitTest(point, uievent));
        }
 public override NSView HitTest(CoreGraphics.CGPoint aPoint)
 {
     return(ConvertRectToView(Bounds, null).Contains(aPoint)
         ? mapView.HitTest(ConvertPointFromView(aPoint, Window.ContentView))
         : null);
 }