NSButton
这里总结原生所提供NSButton类型主要有以下几种:
其中
Recessed、Push这两种样式的按钮应该能满足一般的开发需求,Recessed样式能检测到鼠标位置并在鼠标置于Button上的时候背景置灰,离开Button的时候背景重置。
action、target: 通过这两个属性分别设置响应方法和响应者
title: 设置off状态下的string
alternateTitle: 设置on状态下的string
attributedTitle: 设置off状态下的attributed string
attributedAlternateTitle: 设置on状态下的attributed string
image: 设置off状态下的图标
alternateImage: 设置on状态下的图标
sound: 设置点击时的声音
如果需要自定义button的一些响应行为则需要调用addTrackingRect(self.bounds, owner: self, userData: nil, assumeInside: true)方法把自己添加为事件跟踪者,并对以下事件回调进行重写:
open func mouseDown(with event: NSEvent)
open func rightMouseDown(with event: NSEvent)
open func otherMouseDown(with event: NSEvent)
open func mouseUp(with event: NSEvent)
open func rightMouseUp(with event: NSEvent)
open func otherMouseUp(with event: NSEvent)
open func mouseMoved(with event: NSEvent)
open func mouseDragged(with event: NSEvent)
open func scrollWheel(with event: NSEvent)
open func rightMouseDragged(with event: NSEvent)
open func otherMouseDragged(with event: NSEvent)
open func mouseEntered(with event: NSEvent): 光标进入区域
open func mouseExited(with event: NSEvent): 光标离开区域