ios - 使用 Mapbox iOS SDK 时如何设置标注 View 的背景颜色?

标签 ios objective-c iphone mapbox

我正在使用 Mapbox SDK 构建 map 应用程序。以下是我如何在 map 上显示注释并自动显示标题弹出窗口:

[myAnnotation setCoordinate:touchMapCoordinate];
myAnnotation.title = @"This Is A Title";

[self.mapView addAnnotation:myAnnotation];
[self.mapView selectAnnotation:myAnnotation animated:YES];

目前,标题以标准白色背景弹出。但是,我希望标题有黑色背景,因为我使用光照贴图并希望弹出窗口更加突出。我怎么能这样做?

最佳答案

自 Mapbox iOS SDK v3.2.0 起,默认标注 View 未公开,您无法更改其外观超过 adding accessory views and title text。 .

相反,您应该提供符合 MGLCalloutView 的自定义标注 View 协议(protocol),然后使用 MGLMapViewDelegate 方法将其与您的 map 一起显示 -mapView:calloutForAnnotation: .

参见 this example在 Objective-C 和 Swift 中的工作实现。默认标注 View 使用 SMCalloutView并且您可以相对轻松地调整此示例以也使用它。

关于ios - 使用 Mapbox iOS SDK 时如何设置标注 View 的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35821795/

相关文章:

ios - 检测从前一个 View Controller 点击了哪个按钮

objective-c - 将 Swift 协议(protocol)传递给 Objective-C 指针

iphone - 如何将 nsstring 转换为 uicolor?

ios - 使用模型无法在 cellForRowAtIndexPath 中获取数据

objective-c - Objective C 协议(protocol)循环依赖?

ios - 在 GPUImage 中将黑白图像转换为透明白色图像? RGB -> Alpha 基本上

ios - 横向模式在 spritekit 游戏中不能正常工作

objective-c - NSWindow orderOut——有没有办法等待窗口关闭?

iphone - 计算 MKPolyline 路径的距离?

javascript - 是什么导致移动设备上的 HTML5 Web 应用程序出现延迟(Ex : iPhone)?