下面给你一份尽量“完整 + 可用 + 按职责分类”的 macOS(AppKit)UI 类清单。
⚠️ 先说明一件实话:
AppKit 的 UI 类非常多(200+),严格意义上的“所有”包括内部类和极少用类。
下面这份是:公开 API + 实际开发中 99% 会遇到的 UI 类,并且按体系分组,不是杂乱罗列。
如果你真的是做 macOS 客户端 / 股票软件 / 工具类 App,这份就是你需要的“UI 类地图”。
一、基础视图体系(所有 UI 的根)
1️⃣ NSResponder
- 事件响应链的根
- 键盘 / 鼠标事件
NSResponder
└── NSView
└── NSControl
2️⃣ NSView ⭐⭐⭐⭐⭐
所有 UI 的基类
常用属性:
frame
bounds
subviews
superview
wantsLayer
二、控制器(UI 管理核心)
3️⃣ NSViewController ⭐⭐⭐⭐⭐
- 页面控制器
4️⃣ NSWindowController ⭐⭐⭐⭐
- 窗口控制器
5️⃣ NSSplitViewController
6️⃣ NSTabViewController
7️⃣ NSPageController
三、窗口 & 面板类
8️⃣ NSWindow ⭐⭐⭐⭐⭐
9️⃣ NSPanel
- 浮动窗口
- 设置面板
🔟 NSAlert
- 系统弹窗(⚠️不是 View)
四、控制类(NSControl 体系)
NSControl
├── NSButton
├── NSTextField
├── NSSlider
├── NSStepper
├── NSSegmentedControl
└── NSColorWell
常用控制类
- NSButton
- NSTextField
- NSSlider
- NSSegmentedControl
- NSSwitch(macOS 10.15+)
- NSLevelIndicator
- NSPopUpButton
- NSComboBox
- NSDatePicker
五、文本系统(非常庞大)
文本显示 / 编辑
- NSTextField
- NSTextView
- NSText
- NSTextContainer
- NSLayoutManager
- NSTextStorage
文本辅助
- NSFont
- NSParagraphStyle
- NSAttributedString
- NSMutableAttributedString
六、列表 / 集合 / 数据展示(你用得最多)
1️⃣1️⃣ NSTableView ⭐⭐⭐⭐⭐
- 表格 / 列表
配套:
- NSTableColumn
- NSTableCellView
- NSTableRowView
1️⃣2️⃣ NSOutlineView
- 树结构(文件夹 / 分类)
1️⃣3️⃣ NSCollectionView ⭐⭐⭐⭐
- 网格 / 卡片
配套:
- NSCollectionViewItem
- NSCollectionViewLayout
- NSCollectionViewFlowLayout
七、滚动 & 容器
1️⃣4️⃣ NSScrollView ⭐⭐⭐⭐⭐
- 几乎所有大 UI 都包它
1️⃣5️⃣ NSSplitView
- 左右 / 上下分栏
1️⃣6️⃣ NSTabView
- 老式 Tab
八、工具栏 & 导航
1️⃣7️⃣ NSToolbar
1️⃣8️⃣ NSToolbarItem
自定义导航常用
- NSStackView ⭐⭐⭐⭐
- NSVisualEffectView(毛玻璃)
九、菜单系统(macOS 特有)
1️⃣9️⃣ NSMenu ⭐⭐⭐⭐⭐
2️⃣0️⃣ NSMenuItem
十、图形 / 绘制 / 动画
绘图
- NSBezierPath
- NSGraphicsContext
- NSColor
- NSImage
- NSImageView
Core Animation
- CALayer
- CATextLayer
- CAShapeLayer
- CAAnimation
十一、反馈 & 弹出 UI
2️⃣1️⃣ NSPopover ⭐⭐⭐⭐
2️⃣2️⃣ NSSharingServicePicker
2️⃣3️⃣ NSColorPanel
2️⃣4️⃣ NSFontPanel
2️⃣5️⃣ NSSavePanel
2️⃣6️⃣ NSOpenPanel
十二、辅助 UI & 特殊控件
- NSProgressIndicator
- NSPathControl
- NSRulerView
- NSBox
- NSGridView
- NSClipView
十三、状态栏 / 系统 UI
2️⃣7️⃣ NSStatusBar
2️⃣8️⃣ NSStatusItem
十四、约束 & 布局
- NSLayoutConstraint
- NSLayoutGuide
- NSLayoutAnchor
十五、触控 & 输入事件
NSEvent
NSTrackingArea
-
NSGestureRecognizer
- NSClickGestureRecognizer
- NSPanGestureRecognizer
- NSMagnificationGestureRecognizer
十六、视觉效果(现代 macOS UI)
- NSVisualEffectView ⭐⭐⭐⭐⭐
- NSAppearance
- NSAppearanceNameDarkAqua
十七、废弃 / 过时但你可能会看到的
- NSMatrix(⚠️老项目)
- NSBrowser(Finder 风格,极少用)
- NSDrawer(已废弃)
十八、UI 类「层级总览图」
NSResponder
├── NSWindow
└── NSView
├── NSControl
│ ├── NSButton
│ ├── NSTextField
│ └── NSSlider
├── NSScrollView
├── NSTableView
├── NSCollectionView
├── NSImageView
└── NSVisualEffectView
十九、给你一个实战建议(很重要)
如果你在做 macOS 股票 / 工具 / IDE 风格 App:
✅ 真正常用的 UI 类 不超过 20 个
✅ 核心是:
- NSWindowController
- NSViewController
- NSView
- NSStackView
- NSTableView / NSCollectionView
- NSScrollView
- NSButton / NSTextField
- NSVisualEffectView
- CALayer