我的问题不同,因为我移动它时插入点没有转向默认表示。当我的文档为空时,我有一个视觉问题。但是当文档不为空时,插入点看起来很好。
我试图绘制NSTextView子类的自定义插入点。一切正常......除了第一次发布文件。创建新文档时,插入点的第一次闪烁总是很奇怪。但在那之后,第一次闪烁一切都变得正常了。在哪里我要看?
override func drawInsertionPoint(in rect: NSRect, color: NSColor, turnedOn flag: Bool) {
var customRect = rect
customRect.size.width = 2.0
if flag {
color.set()
}
else {
self.backgroundColor.set()
}
self.lockFocus()
let path = NSBezierPath(rect:customRect)
path.setClip()
path.fill()
self.unlockFocus()
self.setNeedsDisplay(customRect, avoidAdditionalLayout: false)
}
更新。删除setNeedsDisplay调用会在文档为空时始终显示毛刺。调用setNeedsDisplay会在第一次闪烁时使空文档出现故障。
我发现的另一件事是毛刺只是插入点默认表示的路径。不知何故,当文档为空时它会显示出来。不要理解为什么会发生这种情况。