Mac OS 桌面程序开发
文章平均质量分 88
Mac OS 电脑应用程序开发,基于Swift语言和Storyboard展开,如需要其它实现可参考笔者的Objective-C和SwiftUI两个专题
korgs
原某互联网大厂P8架构师,多年耕耘电商、医疗、网络安全领域,现主要从事CNN深度学习图像处理开发。腾讯、钉钉、支付宝、阿里云兼职讲师,曾参与ACP、开悟AI、斑马智行车机等多套认证课程制作。阿里云社区/51CTO/腾讯云等多个开发者社区专家博主。全栈工程师,精通java、python、objective-C、swift、c++、react语言。
展开
-
21. Drag-Drop拖放操作(二) - 文件、表格和树的拖放实现
本文主要讲述了几种常用的拖放场景示例实现,包括文件、表格和树的拖放。对于文件拖放,自定义了接收视图类FileDragView,注册拖放类型并实现目标拖放协议NSDraggingDestination,同时实现了拖放响应处理。在表格行数据拖放中,初始化表格并设置了NSTableColumn的identifier以及NSTableView的Delegate和DataSource,实现了行拖动。对于树节点数据拖放,其初始化方式与表格类似,本质上是一种只有一列的表格实现,通过实现相关协议来完成拖放功能。原创 2024-11-14 10:19:03 · 283 阅读 · 0 评论 -
20. Drag-Drop拖放操作(一) - 通用实现
本文主要介绍了在 Cocoa 框架下的拖放功能实现,包括拖放原理、拖放源设置、拖放接收设置以及普通对象拖放实现示例。拖放是一种广义层面的操作,可以实现 App 与 OS X 系统、App 与 App 之间的拖放,内容包括控件、文件、数据等。原创 2024-11-12 19:02:15 · 840 阅读 · 0 评论 -
19. 编辑和设计类应用的Undo-Redo操作
本文主要介绍了 Cocoa 框架中 NSUndoManager 类实现的 Undo--Redo(撤消与重做)功能,包括其在编辑和设计类应用中的重要性、管理操作堆栈的方式、实现原理以及相关的消息通知等内容,并通过一个计算器示例进行了具体展示。原创 2024-11-11 09:57:09 · 587 阅读 · 0 评论 -
18. Mouse 鼠标、KeyBoard 键盘和 Action 消息事件处理
本文主要介绍了在 Mac OS 系统下使用 Swift 语言自定义 UI 控件实现不同事件响应的方法,包括 IOKit 事件框架、鼠标事件、键盘事件和 Action 消息事件等方面的内容。原创 2024-11-11 09:56:36 · 915 阅读 · 0 评论 -
17.专题内容:纯代码实现 OS X App 工程框架搭建
本文主要讲述了 OS X 应用工程运行机制,并通过示例实现纯代码 App 框架。在正式生产环境中,UI 部分较少使用 UI 设计器,多采用 Objective--C 或 Swift UI 实现。首先对带 UI 设计器的工程结构进行解析,接着从 Storyboard 工程开始改造,包括删除 UI 视图、自定义 NSWindowController 和 NSViewController、AppDelegate 组装程序入口以及自定义 App 启动类和菜单配置。原创 2024-11-06 10:36:55 · 268 阅读 · 0 评论 -
16.NSTabViewController、NSSplitViewController、NSPageViewController 视图管理器
本文主要介绍了三种特殊的视图管理器:NSTabViewController、NSSplitViewController 和 NSPageViewController,旨在为编程方便框架进行封装。原创 2024-11-06 10:36:41 · 922 阅读 · 0 评论 -
15. NSView 视图与 NSViewController 视图控制器
本文主要介绍了在 iOS 开发中关于 NSView 和 NSViewController 的相关内容,包括视图与窗口的关系、视图生命周期、不同方式创建视图控制器、NSView 的模糊化效果、自定义实现、管理视图控制器、视图切换效果以及视图手势识别等方面。原创 2024-11-01 12:58:01 · 1032 阅读 · 0 评论 -
14. NSWindow 窗口与 NSWindowController 窗口控制器
本文主要介绍了在 macOS 开发中使用 NSWindowController 管理 NSWindow 对象的方法及相关操作。包括创建 NSWindowController 的两种方案、NSWindow 的自定义和窗口显示切换,以及 Storyboard 工程结构解析等内容。原创 2024-10-31 09:49:11 · 694 阅读 · 0 评论 -
13. 专题内容:多View视图面板切换实现
该内容主要介绍了在 Swift 语言环境下,使用 storyboard 工程实现面板前后切换的方法,以补全 UI 设计的最后一块内容,并指出视图切换有多种实现方式,这里只是其中一种。具体步骤包括创建 storyboard 工程、实现 Swift 子类、初始化窗口以及进行视图切换控制。原创 2024-10-31 09:48:48 · 384 阅读 · 0 评论 -
12. Auto Layout 自动布局
本文主要介绍了 UI 设计中的 AutoLayout,包括自动布局的目的、计算公式、Xcode 布局工具、布局属性、示例以及编码实现等内容。AutoLayout 是一种用于 UI 设计的技术,主要用于窗口尺寸变化或屏幕翻转后的元素自适应。其目的是为了适配不同大小屏幕,通过约束关系来确定父子视图之间、相邻视图之间的相对位置关系。与传统布局以坐标原点为基点不同,自动布局以元素与元素视图的位置为基础自动计算当前元素的尺寸。原创 2024-10-30 10:40:53 · 1117 阅读 · 0 评论 -
11. NSOutlineView Tree 树
本文主要介绍了在 Swift 语言中使用 NSOutlineView 实现树结构的方法。NSOutlineView 是一个重要且复杂的控件,继承自 NSTableView,可实现多层级数据管理,采用 MVC 设计。文章详细介绍了基础实现、绑定变量、定义 Node 对象、扩展协议 NSOutlineViewDataSource 和 NSOutlineViewDelegate、实例化树以及事件响应(包括选择通知、添加节点、删除节点和右键菜单)等内容。原创 2024-10-30 10:40:19 · 554 阅读 · 0 评论 -
10. NSTableView Table 数据表格
本文主要介绍了在 OS X 中表格控件的相关内容,包括基本设置、表格数据绑定、动态编辑表格、表格事件定义和编码实现等方面。原创 2024-10-29 09:05:20 · 728 阅读 · 0 评论 -
09. NSToolBar工具栏、NSMenu菜单、NSStatusBar状态栏
本文主要介绍了 OS X 应用中菜单、工具栏和状态栏的相关内容,是 UI 编程的重要部分。包括 NSToolbar 工具栏的构成、基本设置、事件响应和编程实现;NSMenu 的属性、自定义弹出菜单及其他设置;NSStatusBar 系统右上角状态栏图标的三种方式(按钮 / 文字、下拉菜单、弹出层窗口)。原创 2024-10-29 09:03:27 · 650 阅读 · 0 评论 -
08.容器控件(二) - NSPanl面板基础与自定义,以及文件、颜色、字体面板使用
主要介绍了与容器相关的控件第二部分,包括 NSPanel、NSOpenPanel、NSSavePanel、NSColorPanel、NSFontManager、NSAlert 以及使用 XIB 创建面板等内容。原创 2024-10-18 11:04:46 · 556 阅读 · 0 评论 -
07. 容器控件(一) - NSCollectionView 网格、NSTabView 卡片、NSPopover 弹出层
本文主要介绍了三种在开发中使用比较频繁的容器控件,包括 NSTabView、NSPopover 和 NSCollectionView。NSTabView:是一种卡片视图,可以动态增加和删除 tab。NSPopover:弹出容器,可以指定位置、关闭行为和动画效果等属性,其内容来自于另一个 NSViewController原创 2024-10-18 11:04:23 · 768 阅读 · 0 评论 -
06. Form表单相关(三) - NSImage、NSProgressIndicator 以及 NSBox、NSSplitView 分组控件
主要介绍了多种相对复杂的 Cocoa 控件,包括 NSProgressIndicator、NSImageView、NSBox、NSSplitView 和 NSCollectionView 等。阐述了这些控件的基本设置、编码实现以及一些特定功能的实现方法,还介绍了 storyboard UI 设置相关内容。原创 2024-10-17 10:39:23 · 943 阅读 · 0 评论 -
05. Form表单相关(二) - NSButton、NSDatePicker、NSSegmentedControl、NSSlider 等按钮类点选控件
本系列专题深入介绍了macOS平台应用开发中AppKit系统控件,涵盖appkit、cocoa、foundation等框架,专注于OSX系统下的应用程序开发。内容广泛,包括UI设计、网络编程、数据存储、服务协议、I18N国际化、iCloud集成以及应用证书与App Store发布等。每篇文章均附有完整的Swift语言源码下载,UI设计则通过storyboard实现。视图是控件的基础,可做为控件,也可做为放置控件的容器,同时其功能也相对复杂一些,包括坐标管理、层级管理、绘制管理、事件响应等。原创 2024-10-16 10:41:39 · 1238 阅读 · 0 评论 -
04. Form表单相关(一) - NSLabel 标签和 NSTextField 文本输入控件
本文主要介绍了与 Form 表单相关的几个控件,包括 NSTextField、NSTextView、NSSearchField 和 NSLabel。分别对这些控件的基础设置、修改事件侦听、文本内容获取等方面进行了详细阐述。原创 2024-10-16 10:41:12 · 930 阅读 · 0 评论 -
03. OS X App 控件基本简介
本系列专题深入介绍了macOS平台应用开发中AppKit系统控件,涵盖appkit、cocoa、foundation等框架,专注于OSX系统下的应用程序开发。内容广泛,包括UI设计、网络编程、数据存储、服务协议、I18N国际化、iCloud集成以及应用证书与App Store发布等。每篇文章均附有完整的Swift语言源码下载,UI设计则通过storyboard实现。视图是控件的基础,可做为控件,也可做为放置控件的容器,同时其功能也相对复杂一些,包括坐标管理、层级管理、绘制管理、事件响应等。原创 2024-10-15 09:06:25 · 313 阅读 · 0 评论 -
02. NSView 视图对象
本系列专题深入介绍了macOS平台应用开发中AppKit系统控件,涵盖appkit、cocoa、foundation等框架,专注于OSX系统下的应用程序开发。内容广泛,包括UI设计、网络编程、数据存储、服务协议、I18N国际化、iCloud集成以及应用证书与App Store发布等。每篇文章均附有完整的Swift语言源码下载,UI设计则通过storyboard实现。视图是控件的基础,可做为控件,也可做为放置控件的容器,同时其功能也相对复杂一些,包括坐标管理、层级管理、绘制管理、事件响应等。原创 2024-10-15 09:05:38 · 670 阅读 · 0 评论 -
01. NSWindow 窗口对象
窗口是UI视图的容器,而UI视图是UI组件的窗口。窗口负责接收用户的鼠标键盘等系统事件,然后负责转发消息到相应的接收对象。在Appkit中有很多window的子类,可以提供更多功能,比如交互等。原创 2024-10-14 10:41:34 · 863 阅读 · 0 评论 -
00. Xcode 使用以及 OS X 项目创建
本系列专题深入介绍了macOS平台应用开发中AppKit系统控件,涵盖appkit、cocoa、foundation等框架,专注于OSX系统下的应用程序开发。内容广泛,包括UI设计、网络编程、数据存储、服务协议、I18N国际化、iCloud集成以及应用证书与App Store发布等。每篇文章均附有完整的Swift语言源码下载,UI设计则通过storyboard实现。原创 2024-10-14 10:40:09 · 1142 阅读 · 0 评论
分享