我在点击注释时在地图中设置自定义注释引脚我得到了这个方法的调用
(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view NS_AVAILABLE(NA, 4_0)
在那个方法中我想打开popover所以我想要帧格式(MKAnnotationView *)视图我在正常模式下映射时得到正确的帧。
但当我缩放地图并单击当时的注释时,我得到错误的帧,那时x和y值很大,所以我得到的任何偏移或缩放因子的任何解决方案我都按照那样划分所以我得到实际的注释框架。
答案 0 :(得分:6)
试试这个:
CGPoint annotationPoint = [mapView convertCoordinate:view.annotation.coordinate
toPointToView:mapView];
float boxDY = annotationPoint.y - 35;
float boxDX = annotationPoint.x - 1;
CGRect box = CGRectMake(boxDX, boxDY, 1, 1);
[popoverControllerDetail presentPopoverFromRect:box
inView:mapView
permittedArrowDirections:(UIPopoverArrowDirectionDown|
UIPopoverArrowDirectionLeft|
UIPopoverArrowDirectionRight)
animated:YES];