加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 将MKAnnotation坐标转换为视图坐标

发布时间:2020-12-16 10:31:49 所属栏目:百科 来源:网络整理
导读:我在用户点击图钉时显示自定义UIView(如Zillow应用程序).现在的问题是我需要将视图放在实际引脚的正上方. MKAnnotationView坐标系与地图相关.如何获取与iPhone屏幕相关的坐标,然后将我的视图放在该坐标上. - (void)mapView:(MKMapView *)mv didSelectAnnotat
我在用户点击图钉时显示自定义UIView(如Zillow应用程序).现在的问题是我需要将视图放在实际引脚的正上方. MKAnnotationView坐标系与地图相关.如何获取与iPhone屏幕相关的坐标,然后将我的视图放在该坐标上.

- (void)mapView:(MKMapView *)mv didSelectAnnotationView:(MKAnnotationView *)view
{  
    // get view from storyboard 
    ZillowSearchResultAnnotation *annotation = (ZillowSearchResultAnnotation *) view.annotation;

    PropertyAbstractViewController *propertyAbstractViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PropertyAbstractIdentifier"];
    propertyAbstractViewController.view.frame = CGRectMake(0,100,100);

    [propertyAbstractViewController bind:annotation.data];

    [mv addSubview:propertyAbstractViewController.view];

}

解决方法

使用 convertCoordinate:toPointToView:.像:

UIView *view = ...
CGPoint p = [mv convertCoordinate:annotation.coordinate toPointToView:mv];
CGRect frame = CGRectMake(p.x,p.y,view.frame.size.width,view.frame.size.height);
view.frame = frame;
[self.view addSubView:view];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读