下面是自定义的一个模态视图,比如说可以用作loading的背景视图等。
import Cocoa
class ModelView: NSView {
override var acceptsFirstResponder: Bool {
return false
}
override func scrollWheel(with event: NSEvent) {
}
// 适用常用的箭头样式
override func cursorUpdate(with event: NSEvent) {
NSCursor.arrow.set()
}
override func mouseEntered(with event: NSEvent) {
}
override func mouseExited(with event: NSEvent) {
}
override func mouseMoved(with event: NSEvent) {
}
override func mouseDragged(with event: NSEvent) {
}
override func mouseUp(with event: NSEvent) {
}
override func mouseDown(with event: NSEvent) {
}
}
当然上面的方法不是每个都会走,但已经可以处理大多数但场景。
若底层的视图是个webview,那就很难阻止webview上面更新的各种鼠标样式,因为webview使用的有追踪区域,处理这些样式,需要让webview移除trackingAreas。










网友评论