分离默认的NSDocument的窗口

macOS 开发 - 创建 Document-Based App 文章目录创建 官方文档: Document-Based App Programming Guide for Mac https://developer.apple.com/library/archive/documentation/DataManagement/Conceptual/DocBasedAppProgrammingGuideForOSX/Introduction/Introduc... 阅读详情

使用XCode创建Cocoa Application时,选择“Create Document-Based Application”应用时,XCode会默认把主窗口放在Document类中。在代码膨胀后,会导致Document和Window的代码混杂在一起,不方便。


现在,我们将Window的代码放到WindowController类里,减少Document中的Window代码。


1、新建WindowController子类。

@interface WindowController : NSWindowController 


2、删除Document类中的

- (NSString *)windowNibName

- (void)windowControllerDidLoadNib:(NSWindowController *)aController


3、将Document.xib改为MainWindow.xlib


4、在Document类中覆写

- (void)makeWindowControllers {

    // Start off with one document window.

    WindowController *windowController = [[WindowControlleralloc] initWithWindowNibName:@"MainWindow"];

    [self addWindowController:windowController];

}



NSWindow-Tabbing:在NSWindow中以编程方式创建选项卡,而无需使用NSDocument的内置内容 程序化NSWindow制表 演示如何在不使用NSDocument的情况下在NSWindow实现选项卡的程序化创建。 检查shared-window-controller标记,以查看如何对所有选项卡重复使用单个NSWindowController 。 但是,请勿在生产中使用此功能。 检出multi multiple-window-controllers标记或当前的master分支,以查看如何管理选项卡的NSWindowController 。 我也。 人们在StackOverflow等上遇到的潜在困难是,从情节NSWindowController中创建NSWindowController将初始化窗口内容,但是您需要保持窗口控制器本身处于活动状态才能响应主菜单动作。 否则,除初始选项卡外,所有其他按钮的“ +”(添加选项卡)按钮都将显示为已损坏。 执照 版权所有(c)2019--202 立即下载

相关推荐

高通camera调试经验总结

修改AF对焦模式 adb shell setprop vendor.debug.camera.af.manual 2 //使能手动对焦 adb shell setprop vendor.debug.camera.af.manual 0 //使能自动对焦

weixin_43381364的博客 1万+

Mac开发---NSDocument

简述 最近在写的App是这种类型的,总结了总结,写了这篇博文,在掘金中没有客户端分类 我不知道该放到那个分类里 就放在iOS里吧 本文旨在介绍如何实现 基于文档的Mac App 若有描述不准确或错误的地方 还望多多指正,共同学习(๑•ᴗ•๑) 实现的效果也就是 在文档的打开方式中有自己的App可选,将文件拖拽至Dock栏中可以打开~ NSDocument NSDocument类相当于一层封装~ ...

weixin_33749242的博客 1536

ISO15118-20证书结构关系解读(7.3.2.1)

本文主要讲述ISO15118-20:2022标准所有证书结构的关联关系,目的是为后续基于ISO15118-20车桩通讯及PNC充电等提供基础支撑。 本文所有的证书关系图全部来源于ISO15118-20:2022标准规范,在后续的讲解过程会将图的摘取出处给提供出来,便于后期文章和标准对应起来解读。

weixin_40900932的博客 3184

Document-Based Application Architecture

Document-Based Application Architecture A document-based application is one of the more common types of applications. It provides a frame

SlimApp 718

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 397

Qt+PCL实战:如何用QVTKOpenGLNativeWidget高效渲染3D点云(附完整代码)

本文深入解析了Qt与PCL结合使用QVTKOpenGLNativeWidget进行高效3D点云渲染的实战技术。通过对比传统QVTKWidget,详细介绍了QVTKOpenGLNativeWidget在渲染效率、内存占用和兼容性方面的显著优势,并提供了完整的代码示例和性能优化策略,助力开发者在工业检测、自动驾驶等领域实现更高效的点云可视化。

keras9composer的博客 687

[Cocoa]深入浅出 Cocoa 之 Core Data(3)- 使用绑定

深入浅出 Cocoa 之 Core Data(3)- 使用绑定 罗朝辉(http://blog.youkuaiyun.com/kesalin) CC 许可,转载请注明出处 前面讲解了 Core Data 的框架,并完全手动编写代码演示了 Core Data 的运作过程。下面我们来演示如何结合 XCode 强大的可视化编辑以及 Cocoa 键值编码,绑定机制来使用 Core Data。有了上面提到的哪些利...

luliangok 225

MacOS 开发 — NSWindow的使用

文章目录零:整体结构一、contentView 相关1、设置窗口背景颜色方法1:window.backgroundColor方法2:window.contentView.layer.backgroundColor2、设置 window frame/尺寸3、设置为点击背景可以移动窗口二、Content Border三、titleBar1、设置窗口标题2、设置标题栏图标3、隐藏tit...

HiroGuo 的博客 7648

基于FPGA的车道线检测系统设计

本文设计了一种基于FPGA的车道线检测系统,采用Altera Cyclone IV EP4CE10F17C8作为主控芯片,结合OV7725摄像头和LCD显示屏实现实时车道线检测。系统通过硬件流水线处理架构,依次完成图像采集、灰度转换、中值滤波、Sobel边缘检测和Hough变换直线识别等功能模块。所有模块均采用Verilog HDL实现,充分利用FPGA的并行处理能力,显著提升了系统响应速度。测试结果表明,该系统能够有效检测道路车道线,满足实时性要求,为ADAS系统提供了一种高效的硬件解决方案。

huanghm88的专栏 121

数据分享|2023年OSM道路数据(全国,分省,分市)

首先这个工作非常有必要的,因为我们正常使用的道路的分类都是基于包括城市快速路、城市主干路、城市次干路这个体系的,大家对于这个分类体系应该更熟悉,但是OSM地图的道路分类又不是完全按这个来的,所以非常有必要重新分类;搞清楚道路类型是我们使用道路数据做很多工作的基础,比如我们在使用道路数据的时候,经常需要预估道路的行车速度,而这个速度一般就是根据道路类型来的,比如高架路的车速肯定就比城市支路快很多!下载分为两种情况,第一种是下载小区域的数据,比如下载一个街区的数据,第二种为下载整个中国范围的。

JData_Engineer的博客 4306

[Cocoa] 修改 NSDocument title 的两种办法

修改 NSDocument title 的两种办法 罗朝辉(http://blog.youkuaiyun.com/kesalin/) CC许可,转载请注明出处 NSDocument 并无 setTitle 这样设置标题的方法,但有两者途径可以设置 document 的显示名: 其

飘飘白云 4295

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[Cocoa]修改NSDocument title的两种办法

修改NSDocument title的两种办法 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议 NSDocument 并无 setTitle 这样设置标题的方法,但有两者途径可以设置 document 的显示名: 其一,NSDocument  有一个 displayName 的方法,该方法默认实现是显示最后...

weixin_33859231的博客 129

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Cocoa入门-使用OBjective-c的读书笔记2

第10,多文档架构 当前的应用程序主要分为两类,一类就是前面几张讲解的对话框程序,另一类,就是基于文档的应用程序,与MFC不同的是,MFC有多文档和单文档的差别,而Cocoa则只有多文档的架构,并没有刻意,去区分多文档结构和单文档结构。 关键点: 1、架构的概述,对于COCOA来说,它提供了各种类来支持多文档的架构,包括NSDocument,NSDocumentController,

梁老师教你编程序 3837

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Knuff数据持久化:文档保存和加载机制的终极解析

Apple推送通知服务调试工具Knuff提供了强大的数据持久化功能,让开发者能够轻松保存和加载APNs推送配置。这个macOS应用采用了专业的文档架构设计,通过NSDocument类实现了完整的文档生命周期管理。 ## 核心持久化机制详解 ### 数据序列化与反序列化 Knuff使用`NSKeyedArchiver`和`NSKeyedUnarchiver`进行数据序列化,这是macOS应用开

gitblog_00238的博客 766

文档,数据和粘贴板 目录 AppKit 文档

文档,数据和粘贴板 组织应用程序的数据和首选项,并在粘贴板或iCloud中共享该数据。 主题 1、文件资料 (1) [开发基于文档的应用] 编写一个用于创建,管理,编辑和保存文本文档的应用程序。 (2) class NSDocument 定义macOS文档接口的抽象类。 (3) class NSDocumentController 管理应用程序文档的对象。 (4) class NSPersistentDocument 可以与Core Data集成的文档对象。 2、用户首选项 (1) class NSUs

iCloudEnd的博客 727

响应者链

响应者链是应用事件或动作消息的响应者对象的链接序列,当给定的响应者对象不处理特定的消息时,对象将消息传递给链中的它的继任者(即下一个响应者)。这允许响应者对象将处理消息的责任委托给其他的,通常是更高级别的对象。应用程序工具包自动构造响应者链,如下所述,但是您可以使用NSResponder中的setNextResponder:方法将自定义对象插入以作为其中的部分,并且可以使用nextResponde...

JarlenJohn 367

iOS 数据存储 - Core Data

Core Data不仅是一个加载、保存数据的O/RM框架,它还能和内存中的数据很好的共事。 1, Managed Object Model Managed Object Model 是描述应用程序的数据模型,这个模型包含实体(Entity),特性(Property),读取请求(Fetch Request)等。 2,Managed Object Context Managed Object C

Seal_Shile的博客 692

NSUndoManager

使用NSUndoManaer, 我们可以给程序以一种优雅的风格添加undo功能. undo管理器跟踪管理一个对象的添加,编辑和删除.这些消息将会发送给undo管理器去做undo. 而当我们请求做undo操作时, undo管理器也会跟踪这些消息,这些消息会被记录用来做redo. 该机制使用两个NSInvocation对像堆栈来实现. 在这么早就讨论这个主题是相当沉重的.(有时候一说起undo.

u010944926的专栏 605

sqlite练习总结

1.NSDocumentDirectory NSDocumentationDirectory的区别 NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents=[paths objectAtIndex:0];

onebutterfly 736

macOS Windows 和 WindowController 教程

原文:Windows and WindowController Tutorial for macOS 作者:Warren Burton 译者:kmyhy 更新说明:本教程由 Warren Burton 升级至 Xcode 8 和 Swift 3。原文作者是 Gabriel Miro。Windows 是有 macOS app 的 UI “容器”。它定义了 app 当前管理着的、允许用户以多

kmyhy的专栏 6194

IOS , plist 配置项说明

Key: Application can be killed immediately after launch (NSSupportsSuddenTermination) Value:BOOL 说明:         指定应用程序是否可以被杀死,以便更快地关闭或注销操作。         表示系统是否可以彻底杀死的应用程序以注销或关闭更迅速。您可以使用此键来指定应用程序是否可以在关闭后

fengsh998的专栏 2万+

iOS中对文件的操作 (NSSearchPathForDirectoriesInDomains)

iOS中NSSearchPathForDirectoriesInDomains函数 iOS中NSSearchPathForDirectoriesInDomains函数参数 NSDocumentDirectory, NSDocumentationDirectory, NSDownloadsDirectory的意义, 刚学iOS对他的一些基本函数不太了解,在写程序的时候把所有参数都测试了下,这样自

luohai859的专栏 6087

第十章:Archiving

第十章:Archiving 一个面向对象程序在运行的时候, 一般都创建了一个复杂的对象关系图. 经常需要把这样一个复杂的对象关系图表示成字节流.这样的过程我们叫做arching如图10.1,这个字节流可以在网络中传送,也可以写入到文件中. 例如,我们创建保存一个nib文件,Interface Builder把对象写入到nib文件就是这样的arching过程(对于Java,这个过程叫seriali...

weixin_34270606的博客 234
上一篇: OpenGL ES Programming Guide for iOS 使用OpenGL ES和GLKit绘图
下一篇: NSWindow支持Drag-and-Drop
yingzi80
博客等级 码龄24年 11粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值