回答:在自定义注释时,MapKit蓝点不可见是因为自定义注释的样式没有设置正确。可以尝试使用以下方法来解决:
NSView
的addBehavior
方法将自定义注释的样式应用到底部视图上。color
和bluePoint
属性设置为NSColor.blueColor()
和CGPoint(x: 0, y: 0)
。NSView
的drawRect
方法中,绘制自定义注释的样式。示例代码:
class MyView: NSView {
var customComment: String = ""
override func draw(_ rect: NSRect) {
let context = NSGraphicsContext.current!.cgContext
context.setFillColor(NSColor.blue.cgColor)
context.fill(rect)
let bluePoint = CGPoint(x: 0, y: 0)
context.setStrokeColor(NSColor.red.cgColor)
context.setLineWidth(1)
context.move(to: CGPoint(x: 20, y: 20))
context.lineTo(CGPoint(x: 40, y: 40))
context.strokePath()
context.setFillColor(NSColor.red.cgColor)
context.fill(bluePoint)
customComment += "Custom Comment"
context.setStrokeColor(NSColor.clear.cgColor)
context.setLineWidth(1)
context.move(to: bluePoint)
context.lineTo(CGPoint(x: 40, y: 40))
context.strokePath()
}
override func awakeFromNib() {
super.awakeFromNib()
let view = self.view
view.addBehavior(NSView.behavior(name: "MyBehavior"))
}
}
在上述代码中,我们实现了自定义注释的样式,并将其应用到底部视图上。在drawRect
方法中,我们绘制了自定义注释的样式,包括蓝色的点和线。最后,我们在awakeFromNib
方法中添加自定义行为。
领取专属 10元无门槛券
手把手带您无忧上云