首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >平移时如何重写Mapbox中标注视图的重新定位?

平移时如何重写Mapbox中标注视图的重新定位?
EN

Stack Overflow用户
提问于 2017-09-18 15:38:44
回答 1查看 161关注 0票数 0

(Re: Mapbox )我使用Mapbox网站(https://www.mapbox.com/ios-sdk/examples/custom-callout/)上的示例实现了一个自定义标注视图。当注释靠近屏幕边缘时,默认标注视图将相应地调整其x值位置,从而使标注完全适合视图。在自定义标注视图中复制此特性的一种方法是在设置self框架(标注视图本身)时应用调整(如果需要的话):

代码语言:javascript
运行
复制
self.frame = CGRect(x: frameOriginX + adjustmentX, y: frameOriginY, width: frameWidth, height: frameHeight)

在当前的标注委托方法中:

代码语言:javascript
运行
复制
func presentCallout(from rect: CGRect, in view: UIView, constrainedTo constrainedView: UIView, animated: Bool)

但是,当用户开始摇摄(甚至触摸地图或其他注释)时,自定义标注将恢复到rect (注释视图)上方的中心位置。但是,在默认的callout视图中,当用户平移映射时,应用于callout视图的调整将保持不变。

因此,您如何正确地调整自定义标注视图的x值位置,并在用户平移地图时保留它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-19 19:42:21

当用户平移地图时,标注视图将被重新绘制。每次重新绘制x位置时,您都必须重写自定义标注的draw函数来调整x位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46283253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档