NSControl 是 macOS AppKit 框架中的一个非常重要的基类,它是所有用户可交互控件(比如按钮、文本框、滑块等)的父类。
基本定义
class NSControl : NSView
NSControl 是 NSView 的子类,表示一种可响应用户输入的视图控件。
常见控件如 NSButton、NSTextField、NSSlider、NSColorWell 等都继承自 NSControl。
let button = NSButton(title: "点击我", target: self, action: #selector(handleClick))
print(button is NSControl) // true
基本功能
1、target/action:设置控件点击、输入等事件的响应者和函数(比如按钮点击)。
let textField = NSTextField(frame: ...)
textField.target = self
textField.action = #selector(handleEnter)
2、isEnabled:控制是否允许用户交互。
3、alignment, font:设置文字控件的字体、对齐方式等外观。
3、stringValue:设置或获取控件中的文本(如文本框、标签)。
4、intValue, floatValue:获取控件值(用于 slider、stepper 等)。
5、controlSize:控件尺寸:.regular, .small, .mini。
6、sendsActionOnEndEditing:控制是否在编辑结束时触发事件(比如文本框)。
总结
NSControl 是一个抽象基类,为 macOS 的交互控件(按钮、输入框、滑块等)提供了统一的行为机制(如事件响应、值获取、禁用等)。