问题标签 [nssavepanel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
137 浏览

macos - macOS 更改扩展对话框显示为新窗口而不是另一个工作表

我有一个应用程序,可以让用户输入文件,处理它,然后让用户保存文件。我在保存对话框中遇到了一个小问题。我的应用程序允许用户保存的文件类型应该只是 txt 文件。但我确实允许用户使用其他类型,所以我输入trueallowsOtherFileTypes. 这是我的代码:

问题是,如果用户放置了除 txt 之外的另一个扩展名,我的应用程序假设会弹出一个警报,询问用户是否要对该文件使用该扩展名,但该警报会作为它自己的窗口而不是工作表弹出:

窗口而不是工作表

我应该添加什么以使此警报显示为保存窗口上的工作表而不是新窗口?

系统:macOS Sierra、Xcode 8.2、Swift 3

0 投票
1 回答
2469 浏览

swift - 使用 NSSavePanel 将文件从 Bundle 保存/复制到桌面

我正在创建一个 macOS 应用程序,该应用程序在其 Bundle 目录中附带一些 .zip 文件。

用户应该能够将这些文件从我的应用程序保存到自定义目录。

我发现NSSavePanel并认为这是正确的方法——这就是我目前所拥有的:

我不知道如何“移交”bundleFilesavePanel.

所以我的主要问题是:如何将应用程序包中的文件保存/复制到自定义目录?

其他问题取决于NSSavePanel:1)默认情况下它似乎没有本地化(我的 Xcode 方案设置为德语,但面板显示为英语),我必须自己自定义吗?2)有没有办法显示默认展开的面板?

0 投票
0 回答
167 浏览

objective-c - NSOpenPanel 模型窗口杀死主应用程序窗口

我是 Mac 应用程序编程的新手。我正在使用 NSOpenPanel 从系统中选择一个文件。一旦我选择了一个文件,然后按取消/打开按钮,completionHandler 块就会被执行。

当 OpenPanel 窗口关闭时,我面临以下问题:

  1. 即使 mainAppWindow.visible 的结果为 1,我的主应用程序窗口也将关闭
  2. 另外,我没有收到主 App 窗口的窗口关闭委托方法。

请在下面找到我用来创建 NSOpenPanel 的代码片段。

0 投票
1 回答
62 浏览

macos - macOS AppKit:无模式 NSSavePanel 的奇怪拖动行为

当我创建一个无模式的 NSSavePanel 时,拖动行为很奇怪:

  • 它对标题栏中的拖动尝试没有反应

  • 当我在面板的其他区域启动拖动时,它会先向下跳几个像素,然后继续正常拖动。

这是我的代码:

而且我还有一个问题,当其他一些应用程序全屏时,我希望保存面板可以覆盖其他应用程序,但不能使用

我用

但不工作。

谢谢你的帮助,圣诞快乐。

0 投票
2 回答
2924 浏览

macos - NSOpenPanel/NSSavePanel 在 Swift 3 中崩溃

在 Swift 3/Xcode8.1/10.12.2 中,我尝试使用 NSOpenPanel 获取由 DenBeke 编写的包含以下代码的文本文件

代码按预期打开一个打开的对话框,我可以选择一个文件。单击打开按钮会使应用程序崩溃。在控制台中我得到:

FI_TFloatingInputWindowController 对象 0x60800009c0c0 在已释放时过度释放;打破 objc_overrelease_during_dealloc_error 进行调试

当我运行代码并打开对话框时,在控制台中我得到

[默认] [错误] 无法获取 URL 的容器:file:///Users/ruediheimlicher/Documents/LoggerdataDir/Messungen/,错误:错误域 = BRCloudDocsErrorDomain 代码 = 12“找不到应用程序库:'com.apple.Documents' " UserInfo={NSDescription=找不到应用程序库:'com.apple.Documents'}

但这不会影响应用程序。

网上有更多关于 NSOpen 或 NSSave 对话框的示例,代码略有不同,但对于每个人,我都得到相同的结果:崩溃,控制台上出现完全相同的错误。

我的代码尝试中是否有错误,甚至是适用于 Swift3/sierra 的示例?

0 投票
1 回答
352 浏览

cocoa - NSSavePanel accessoryView:为什么我的按钮没有出现?

我正在创建一个带有包含单个复选框的附件视图的保存面板。当我使用以下方法创建按钮时,我可以让它工作:

但这给了我一个警告,这个特定的 NSButton 初始化程序需要 macOS 10.12,我需要支持 10.10。

这是我的 savePanel 设置:

以下是我在 Sierra 中创建附件视图的方法

但这不起作用(按钮不出现)

0 投票
1 回答
431 浏览

macos - 文档类型图标未显示在自定义文件 MacOS 上

我的应用程序需要自定义文档支持,但我并没有从 xcode 中的文档模板开始。我确实设法通过以下本教程正确加载和保存数据:https ://www.brandpending.com/2016/02/21/opening-and-saving-custom-document-types-from-a-快速可可应用程序/ . 但是,一个问题是我的自定义图标没有显示在我的文件中!它仍然是一个空白页面图标:(。

我究竟做错了什么?

这是我的设置:

在此处输入图像描述

我的 HSDocument 代码:

这是我将数据加载/保存到文件的方式:(我不希望它被正常的菜单项触发)

谢谢!

0 投票
1 回答
4072 浏览

swift - macOS - 如何让 NSSavePanel 在文件名中添加文件扩展名?

我正在使用此代码让用户选择指定名称和在磁盘上保存纯文本文件的位置。一切似乎都有效,但保存的文件没有任何扩展名。实际上我没有在我的代码的任何部分指定扩展,我阅读了 NSSavePanel 文档而没有注意到解释此选项的部分。

这是我正在使用的代码:

0 投票
0 回答
200 浏览

swift - NSSavePanel 什么都不做

下面的代码什么都不做。没有错误消息,没有保存对话框。为什么?

0 投票
0 回答
375 浏览

swift - 使用带有自定义 UTI 的 SavePanel 保存文件

我经常为我的桌面应用程序创建自己的文档类型。但我从未注册过我自己的自定义 UTI。无论如何,我想将一个简单Dictionary的数据保存为数据(NSData)文件,如下所示。

在此处输入图像描述

我已经设置了一个文档类型和一个导出的 UTI,如上所示。

最初,我将UTTypeConformsTo类型设置为public.data. 但我已将其更改为public.xmland public.text。然而,导出的文件没有文件图标。我的自定义 UTI 似乎没有被正确识别。我的目标是让这个桌面应用程序生成一个文件,以便用户可以通过 AirDrop 将其发送到 iOS 等价物。我究竟做错了什么?谢谢。