问题标签 [nsopenpanel]

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 回答
1152 浏览

objective-c - 从文件夹中获取文件时出现问题,识别文件夹时出错。(目标 c)

我让用户从 NSOpenPanel 中选择一个文件夹。这将返回一个文件路径,例如:file://localhost/Folder。这是我的代码,一切都出错了:

在这里,无论我选择哪个文件夹,都会发送此错误消息:文件夹“文件夹”不存在。" UserInfo=0x10518b320 {NSFilePath=file://localhost/Folder, NSUserStringVariant=( Folder ), NSUnderlyingError=0x10515d5e0 "操作无法完成。(OSStatus 错误 -43.)"}

到底是怎么回事?!?如果这不是最好的方法,我如何访问文件夹内的所有文件?

0 投票
3 回答
11026 浏览

macos - NSOpenPanel - 一切都弃用了吗?

我一直试图让一个窗口出现,要求该人选择一个文件,我最终做到了。问题是,Xcode 抱怨我使用的方法已被弃用。我查看了类参考,但从 Mac OS 10.6 开始,“运行面板”部分下的所有内容都已被弃用。我现在应该使用不同的课程吗?

0 投票
1 回答
329 浏览

macos - stringByReplacingOccurenceOfString 失败

我正在尝试制作一个询问用户目录的 Mac OS X 应用程序。我正在使用当用户按下“浏览”按钮时触发的 NSOpenPanel。

问题是,[NSOpenPanel filenames] 已被弃用,所以现在我正在使用 URLs 函数。我想解析出与获取正常文件路径相关的 url 的东西。所以我尝试fileName = [fileName stringByReplacingOccurrencesOfString:@"%%20" withString:@" "];了,但这给了我一个错误:

这是整个方法:

有趣的是,“Foo”永远不会被输出到那个控制台。就像方法在 stringByReplacigOccurencesOfString 行中止一样。

如果我删除那一行,应用程序将运行并用我不想要的 URL 形式的字符串填充我的文本框。

0 投票
1 回答
2131 浏览

cocoa - 在 NSOpenPanel 关闭后做某事

我有一个 NSOpenPanel,我想在用户单击确定后对选择进行一些验证。我的代码很简单:

[self window]是一个应用程序模式窗口。面板以工作表形式打开。到目前为止,一切都很好。

苹果的文档说,完成处理程序应该在“用户关闭面板后”被调用。但就我而言,它是在按下“确定/取消”按钮时立即调用的,而不是在面板关闭时调用。这样做的效果是错误警报在打开的面板上方打开,而不是在面板关闭后打开。它仍然有效,但它不像 Mac。

我希望用户单击确定,打开的面板折叠起来,然后出现警报表。

我想我可以使用延迟选择器来显示警报,但这似乎是一种黑客行为。

0 投票
1 回答
355 浏览

xcode - NSOpenPanel 在选择文件时崩溃

我正在使用 NSOpenPanel 允许用户从他们的 MAC 中选择一个文件。该面板可以正常打开并过滤掉正确的文件,但是一旦我单击文件,我的应用程序就会崩溃。

这是我打开面板的代码:

代码永远不会从 runmodalForDirectory 方法调用返回。

因此,一旦我选择了一个文件,调试器控制台就会这样说:

简而言之,我认为此时调用 dlOpen 并不安全。

然后我得到这个:

加载大量堆栈帧

调用堆栈如下所示:

调用堆栈

递归调用发生前的调用栈:

在此处输入图像描述

调用堆栈位于名为 WebFullScreenController.mm 的 WebKit 框架文件中,递归调用此方法 setDisableActions:

有人知道为什么会这样吗?提前致谢。

0 投票
1 回答
1320 浏览

cocoa - 可可Applescript NSOpenPanel?

如何NSOpenPanel在 Cocoa-Applescript 中进行操作?有什么好的教程吗?我熟悉 Applescript,但不是真正的 Cocoa 部分。我需要nibNSOpenPanel 吗?我正在做一个 Automator 动作。请参阅我之前的问题

0 投票
1 回答
912 浏览

cocoa - NSOpenPanel/NSSavePanel: How can I preselect a file before the dialog opens?

When I present a NSOpenPanel to the user I'd like it to have a file that the user opened earlier already selected from the start.

There is [NSSavePanel setDirectoryURL:(NSURL*) to preselect a directory, but I can't find an API to select the initial file.

There use to be:

This call is exactly what I need. The docs say:

Specifies a particular file in path that is selected when the Save panel is presented to a user. When nil, no file is initially selected.

But unfortunately that method was deprecated in 10.6.

0 投票
2 回答
1262 浏览

objective-c - 如何让我的程序等待 NSOpenPanel 关闭?

就像标题所述,我需要让我的程序等到我NSOpenPanel关闭。我打开了面板,windowControllerWillLoadNib以便它在我的文档窗口打开之前发生。但发生的情况是,它只是加载两个窗口而不等待面板关闭。我怎样才能让它等到打开的面板关闭并完全完成?

0 投票
2 回答
966 浏览

objective-c - 如何设置 NSOpenPanel 对话框的位置和大小?

我没有太多的 Mac 编程经验,我来自 Windows 背景。

所以,我使用这段代码来显示一个 NSOpenPanel,但我还想在对话框出现时指定它在屏幕上的位置和大小。我怎么做?

编辑


似乎通过调用

我可以设置 NSOpenPanel 的大小(它变成 500x500 像素),但不能设置它的左上角,它以屏幕为中心,而不是出现在屏幕的左上角。

0 投票
1 回答
626 浏览

macos - runModalForTypes 有效,但 setAllowedFileTypes+runModal 无效?

当我使用

它按预期工作(只能选择 pdf 文件),但是当我使用

我可以选择所有类型的文件,而不仅仅是 pdf。文档说 runModalForTypes 已被弃用,我们应该使用第二种方式。难道我做错了什么?