- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在带有标题的图像 (MKSnapshot) 上绘制标记,但标题未显示。
有谁知道为什么会出现这种情况吗?
let annotation = MKPointAnnotation()
annotation.coordinate = location
annotation.title = "TitleTest"
let pinView = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "test")
pinView.titleVisibility = MKFeatureVisibility.visible
pinView.dragState = .none
pinView.animatesWhenAdded = false
pinView.canShowCallout = false
pinView.titleVisibility = .visible
pinView.contentMode = .scaleAspectFit
pinView.bounds = CGRect(x: 0, y: 0, width: 40, height: 40)
if rect!.contains(point) {
let pinCenterOffset = pinView.centerOffset
point.x -= pinView.bounds.size.width / 2
point.y -= pinView.bounds.size.height / 2
point.x += pinCenterOffset.x
point.y += pinCenterOffset.y
}
pinView.drawHierarchy(in: CGRect(
x:point.x,
y:point.y,
width:pinView.bounds.width,
height:pinView.bounds.height),
afterScreenUpdates: true)
print("Draw a marker on iOS 11")
这是我的 UIImageView
的屏幕截图,带有标记,但没有标题:
最佳答案
标题可以绘制在图钉位置下方的快照上:
确定注释在图像坐标系中的位置snapshot.point(for:annotation.coordinate)
创建标题文本的属性,您可以使其类似于 Apple 使用的属性:
private func titleAttributes() -> [NSAttributedStringKey: NSObject] {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .center
let titleFont = UIFont.systemFont(ofSize: 10, weight: UIFont.Weight.semibold)
let attrs = [NSAttributedStringKey.font: titleFont,
NSAttributedStringKey.paragraphStyle: paragraphStyle]
return attrs
}
将其绘制在注释位置的正下方:
private func drawTitle(title: String,
at point: CGPoint,
attributes: [NSAttributedStringKey: NSObject]) {
let titleSize = title.size(withAttributes: attributes)
title.draw(with: CGRect(
x: point.x - titleSize.width / 2.0,
y: point.y + 1,
width: titleSize.width,
height: titleSize.height),
options: .usesLineFragmentOrigin,
attributes: attributes,
context: nil)
}
有关包含代码和屏幕截图的更完整示例,请参阅 my following answer (它绘制了一个自定义引脚图像,但其余代码可以在此处使用)。
关于swift - MKMarkerAnnotationView 标题未绘制在 MKSnapShot 图像上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49138443/
我一直在尝试新的 iOS 11 MKMarkerAnnotationView,最后集群工作起来就像一个魅力。但问题是,如图所示,簇的颜色错误。我怎样才能控制这个? 最佳答案 没关系,我设法弄清楚了。
我正在尝试缩放大图像以适合 MKMarkerAnnotationView 子类的字形图像: class MyAnnotationView: MKMarkerAnnotationView { v
设置带有附近咖啡馆注释的 map View 。但是当我尝试使用 MKMarkerAnnotationView 自定义注释时, map View 上没有任何显示。当我记录标记时,框架是 (0 0; 0
我目前正在为通过 MapKit 添加到我的 map View 中的注释创建标注。注释效果很好,但目前没有显示标注,即使我使用正确的代码来启用它们(我相信)。 这是我的viewFor annotatio
我想从 MKMarkerAnnotationView 获取 UIImage,但使用以下代码图像被截断(在顶部和底部,请参见屏幕截图) let newAnnotation = SimpleAnnotat
为什么 MKMarkerAnnotationView 标题会消失。有时我们旋转 map 时会出现标题。如何使 MKMarkerAnnotationView 标题始终可见。 最佳答案 MKMarkerA
我有一个 MKMapView,我想在长按手势上添加注释。添加注释后,我想选择注释 View 。我认为这是一个非常简单的请求。 问题是我正在使用带有自定义 rightCalloutAccessoryVi
我尝试在带有标题的图像 (MKSnapshot) 上绘制标记,但标题未显示。 有谁知道为什么会出现这种情况吗? let annotation = MKPointAnnotation() ann
我正在为 iOS 构建一个应用程序,允许用户基于位置存储图像。现在我想为此使用 iOS 中最新的 AnnotationView (MKMarkerAnnotationView),因为它提供了自动集群。
我正在尝试使用添加到 ios11 中的 map View 的新功能。 我正在将我所有的 MKAnnotationView 与圆形碰撞进行聚类,但我必须在注释变为聚类时实时检查。 我不知道该怎么做。 编
我正在尝试像照片应用程序那样做一个自定义 pinView: 到目前为止,我可以在 SO 或 here 上找到的大多数资源和 here显示自定义图钉图像或标注 View 的方法,但在标记本身的自定义 V
我有一个表格 View ,我想在 UITableViewCell 中显示自定义 MKMarkerAnnotationView。该 TableView 显示在专用的 ViewController 中,而
在较旧的手机(iPhone 7、8)上,为 MKMapSnapshotter 创建的 MKMarkerAnnotationView 可以在 map 上正确显示。仅在 iPhone X 及更高版本上它们
我已经通过引用苹果提供的以下示例对点进行了聚类。 https://developer.apple.com/documentation/mapkit/mkannotationview/declutter
我有一个实现 MKAnnotation 协议(protocol)的 MapItem 类。我正在使用 MKMarkerAnnotationView 在 map 上显示注释。 根据文档,MKMarkerA
MKPinAnnotationView 在 iOS 15 中重命名为 MKMarkerAnnotationView。 在 iOS 14 之前,我将 MKPinAnnotationView 子类化为 c
我是一名优秀的程序员,十分优秀!