问题标签 [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.
objective-c - How can I have a default file selected for opening in an NSOpenPanel?
The old way was [ MyPanel runModalForDirectory: thedir file: thefile ]
, and the panel would open in the specified directory with the specified file already selected.
That's deprecated; we're supposed to use runModal now, but I don't see any way to set the selected file name. I've tried including it in the string for setDirectoryURL, I've tried setRepresentedFilename, I've tried setNameFieldStringValue ... obviously it's possible to do this somehow, but I'm not having any luck with the internet search terms I've chosen, nor with Apple's documentation....
Thanks if you can help!
objective-c - NSOpenPanel 允许选择包但不显示内容
我正在尝试让 NSOpenPanel 执行以下操作:
无法选择文件
可以选择目录和包
看不到包裹内容
为了获得前两点,我需要使用:
然而,这意味着当在列视图中选择一个包时,会显示包的内容。我想要当我们[openDlg setCanChooseFiles:YES]; [openDlg setTreatsFilePackagesAsDirectories:NO];
选择包时发生的行为,但列视图浏览器在选择时不显示内容。
有任何想法吗?
objective-c - 如何使用 NSOpenPanel 只获取文件名,而不是完整目录?
这是我的代码:
但输出类似于file://localhost/Volumes/....
如何获取所选文件的基本名称(例如 Cat.jpg)?
objective-c - 使 NSOpenPanel 打开一个自定义目录
有什么方法可以将 URL 传递到系统上的文件夹,该文件夹应该是 NSOpenPanel 打开的默认窗口?谢谢!
更新:
我正在使用上面的代码,这是我希望默认打开的目录。但是,我得到的默认窗口仍然是我访问的最后一个窗口,而不是我指定的窗口。如何访问 URL 目录?
objective-c - 如何检测是否可以在沙盒应用程序上访问 NSURL?
我正在编写一个 OS X 应用程序,它有一个带有预览附件视图的打开面板。
问题是当我选择一个不在具有沙盒权限的文件夹中的文件时,我无法预览它。
在尝试打开文件之前,有什么方法可以判断文件是否会受到沙箱权限的限制?
我已经尝试- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error
过NSURL
该类,但即使文件受到保护,它也会返回 true。
cocoa - 沙盒应用程序中 NSSavePanel 和 NSOpenPanel 上的附件视图的奇怪行为
我对 NSSavePanel 和 NSOpenPanel 的附件视图有疑问。
有时,(经常)当我打开这些面板之一时,附件视图不起作用(显示视图但控件似乎已禁用)。
我正在使用此代码显示面板:
这仅在启用 app-sandbox 时发生。
经过大量测试后,我发现发生的事情是视图放错了位置(未附加到面板上)。
When I open Mission Control and move the mouse pointer over the app windows I noticed that an "invisible" window hilighted and when select it I can take control over the accessory view (all controls work) but it appears detached from the open or save panel如屏幕截图所示。
我试图创建一个新应用程序只是为了测试这种行为,但无法重现它,所以我想这与我的应用程序有关。
任何暗示我可能做错了什么?
我不想为了解决这个问题而从头开始编写所有代码。
编辑
顺便说一句,当我关闭窗口时,就在窗口关闭之前,附件视图会闪烁控件的正确值。应用程序似乎没有及时添加视图以显示面板。
更新 1
我对用作辅助视图的视图进行了子类化,并注意到
被称为,但是
即使视图正确显示,也永远不会被调用,这是正常行为吗?
更新 2
我确认- (void)viewDidMoveToSuperview
应该调用,在测试应用程序上调用了这两种方法。
我还注意到我的应用程序和测试应用程序之间存在细微差别。在我的应用程序上,面板只是向下滑动,但在测试应用程序上,面板似乎“向下翻转”(不知道具体如何描述)。面板的显示方式与我无关,我只是注意到它的显示方式不同。
objective-c - NSOpenPanel 没有从文件名中正确访问 NSUrl,带有空格
搜索了一下,没有发现这方面的问题。
我的应用程序采用 .csv 文件,切换数据并以我公司认为有用的方式将其吐出。问题是该程序似乎需要没有空格的文件名。例如,“My data.csv”将不起作用,但“My_data.csv”将起作用。这是我认为相关的代码
在调试模式下,“object”对于带有空格的文件名显示为 nil,“tempdump”字符串对于带有空格的文件名显示为@“nil”,但对于 names_with_underscores
objective-c - NSOpenSavePanelDelegate 协议中的方法 panelSelectionDidChange 被调用了两次
我有一个实现NSOpenSavePanelDelegate
协议并与 NSOpenPanel 相关联的类。
我NSLog()
在- (void)panelSelectionDidChange:(id)sender
方法中加入了 a 并注意到以下内容:
当我第一次选择一个文件时,panelSelectionDidChange
它被调用,并检查[sender URL]
我得到所选文件的 URL,但是当我选择另一个文件时, panelSelectionDidChange
被调用两次,第一次[sender URL]
有最后一个 URL,第二次调用[sender URL]
它的 URL新选择的文件。
但是,如果我使用键盘箭头选择文件而不是单击它,panelSelectionDidChange
则只会使用正确的 URL 调用一次。
这是正常行为还是我做错了什么?
objective-c - NSOpenPanel 显示问题
我NSOpenPanel
用来允许用户选择一个文件。但是,NSOpenPanel
有时会出现 UI。侧边栏有时会显示,有时不会。只需滚动即可将选定的文件夹(在本例中为“Cookie Stumbler”)移动到打开面板的中间/底部/任何位置,有时它会停止整个应用程序。
我正在调用NSOpenPanel
作为IBAction
使用主线程的一部分。什么都没有登录Console.app
,尽管我记得它曾经按照“等待 UI 响应”的方式记录了一些东西。
这NSOpenPanel
是设置的方式:
这是怎么回事?
macos - 将 NSWindow 显示为工具栏工作表
你如何NSWindow
从工具栏中显示一个,如下NSOpenPanel
图所示?