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)
: 光标离开区域