问题标签 [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 - NSOpenPanel(不) validateVisibleColumns
我有NSOpenPanel
一个accessoryView
; 在此视图中,用户选择几个单选按钮来更改允许的类型。当面板打开时,正确的文件被启用,另一个被禁用。好的,很好。
现在用户更改单选按钮,viewController
accessoryView 观察单选按钮矩阵的变化并随之改变allowedTypes
NSOpenPanel。
之后,根据 Apple 文档,它调用-validateVisibleColumns
,但面板中没有任何可见的变化。也就是说:正确的文件似乎已禁用:我可以选择它们,但它们是灰色的!另一个错误的效果:我选择了一个文件(启用),更改文件类型,(现在错误的)文件保持选中状态,启用了 OK 按钮:但这是错误的文件类型!似乎发生了变化,但界面不知道!
我的代码是(选择绑定到单选按钮的矩阵):
我首先尝试插入一个呼叫
然后我尝试了
没有结果。我还尝试实现面板委托方法panel:shouldEnableURL:
,应该由validateVisibleColumns
:我刚刚发现它只被调用了一次,在 NSOpenPanel 的开头。
有人可以知道为什么会这样吗?我用沙盒和非沙盒应用程序尝试了所有这些,没有区别。我正在使用 10.8 sdk 进行 ML 开发。
编辑
到目前为止,避免该问题的唯一方法是实现panel:validateURL:error
,但这是在用户单击“打开”后调用的,这非常糟糕。
cocoa - Cocoa:NSPathControl NSOpenPanel,当用户点击确定时得到通知
我在 IB 中设置了一个 NSPathControll,我在设置 NSOpenPanel 时使用了这个方法:
我想知道用户何时单击确定按钮(在本例中为“选择”按钮)。
如果我使用-(void)panel:(id)sender directoryDidChange:(NSString *)path
,我只会在用户双击文件夹时收到通知。
有任何想法吗?
提前致谢!
macos - NSOpenPanel 显示具有某些属性的文件
NSOpenPanel 是否可以仅显示具有某些预定义属性的文件,而所有其他属性都淡出?
例如,我想显示具有特定创建或修改日期的文件。
非常感谢!
macos - 如何在 NSOpenPanel 对话框中“预选”文件
有谁知道如何在对话框中预选文件?NSOpenPanel
这已经被问过好几次了,但是这些问题都没有得到一个可行的解决方案。设置 nameFieldStringValue 无效,因为打开的对话框没有供用户输入名称的文本字段。设置 directoryURL 仅设置对话框中的当前目录。
macos - NSOpenPanel 附件视图中的 NSSecureTextField 出现奇怪错误
在我的应用程序中,我使用带有附件视图的 NSOpenPanel。这个视图除其他外还有一个 NSSecureTextField。每次我打开面板时,此通知都会显示在日志中:
有谁知道这到底意味着什么以及如何摆脱它?现在它没有引起任何问题,但我想删除它。
非常感谢!
cocoa - 显示 NSOpenPanel 时的 setAllowedFileTypes
我有一个NSOpenPanel
带有附件的视图。附件视图很简单——它是一个复选框,选中后允许用户选择任何文件;未选中时,要求文件是支持的扩展名列表中的一个。
NSOpenPanel
初始化和显示:
IBAction
对于复选框:
根据文档,可以setAllowedFileTypes
在显示面板时使用:
允许的文件类型可以在面板运行时更改(例如,从附件视图)。
但是,这似乎不像预期的那样工作:当前视图不会重新加载 - 当您滚动时,文件会根据新设置启用/禁用;但是,最初可见的文件不受影响。
当用户切换附件视图复选框时,我需要一些方法来刷新当前目录的内容 - 但是,我似乎找不到任何方法来做到这一点。有什么建议么?
编辑,2013 年 10 月 15 日:这似乎是由 Mavericks 中的一个错误引起的。在 Mountain Lion 上运行的相同代码没有任何问题,就像这里的两位评论者指出的那样。
cocoa - 无法使用 NSOpenPanel 打开图像
我需要使用 NSOpenPanel 打开图像。我使用以下代码做到了:
当我运行我的应用程序时,会打开文件对话框,我选择我的 jpg 图像,但什么也没有。我没有按预期在图像视图中看到我的图像。请帮帮我。
macos - ShowModal 窗口打开 NSOpenPanel 将在 Delphi FMX 中自动关闭
我正在使用代码http://jed-software.com/blog/?p=538来允许用户在 MAC OSX 下选择一个文件夹。如果我在主窗体中放置一个按钮并单击此按钮以打开 NSOpenPanel,它工作正常。
但是,如果我用 ShowModal 打开一个模态窗口,然后,在这个模态窗口中放置一个按钮,单击此按钮打开 NSOpenPanel,在选择 NSOpenPanel 中的文件夹后,无论我单击 OK 或 Cancel 按钮,NSOpenPanel 和这个模态窗口将自动关闭。
感谢您为解决此问题提供的任何帮助。
cocoa - NSOpenPanel 异常 *** -[NSRemoteView serviceViewSubservice] 中的断言失败
如果我试试这个:
它有时有效,但有时我会收到错误消息,例如:
*** Assertion failure in -[NSRemoteView serviceViewSubservice], /SourceCache/ViewBridge/ViewBridge-46.2/NSRemoteView.m:2679
2014-03-10 09:34:35.592 AppWage[52168:303] An uncaught exception was raised
2014-03-10 09:34:35.593 AppWage[52168:303] invalid
2014-03-10 09:34:35.593 AppWage[52168:303] (
0 CoreFoundation 0x00007fff8a59825c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff881fce75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8a598038 +[NSException raise:format:arguments:] + 104
3 Foundation 0x00007fff925ebd41 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 189
4 ViewBridge 0x00007fff8736f8b0 -[NSRemoteView serviceViewSubservice] + 149
5 ViewBridge 0x00007fff873716d6 -[NSRemoteView viewServiceMarshalProxy:withErrorHandler:] + 43
6 ViewBridge 0x00007fff87366a40 -[NSRemoteView syncServiceWindow] + 32
7 ViewBridge 0x00007fff87367054 -[NSRemoteView didSetOriginOrSize:] + 201
8 ViewBridge 0x00007fff87367706 -[NSRemoteView setFrameSize:] + 231
9 AppKit 0x00007fff9042df3e -[NSWindow _oldPlaceWindow:] + 1644
10 AppKit 0x00007fff9042cf8c -[NSWindow _setFrameCommon:display:stashSize:] + 1633
11 ViewBridge 0x00007fff87373711 -[NSRemoteView serviceWindowDidResizeInProgress:] + 440
12 ViewBridge 0x00007fff873737d0 -[NSRemoteView serviceWindowDidResize:] + 180
13 ViewBridge 0x00007fff873707cf -[NSRemoteView advanceToConfigPhase] + 2458
14 ViewBridge 0x00007fff8737177c -[NSRemoteView viewServiceMarshalProxy:withErrorHandler:] + 209
15 ViewBridge 0x00007fff8736d9b7 -[NSRemoteView sendFontSmoothingBackgroundColorToService:] + 436
16 ViewBridge 0x00007fff8736e725 -[NSRemoteView viewDidMoveToWindow] + 197
17 AppKit 0x00007fff90323320 -[NSView _setWindow:] + 2899
18 AppKit 0x00007fff90320964 -[NSView addSubview:] + 364
19 AppKit 0x00007fff90334ac3 -[NSFrameView addSubview:] + 45
20 AppKit 0x00007fff90342df5 -[NSWindow setContentView:] + 511
21 AppKit 0x00007fff90ba9563 -[NSVBSavePanel init] + 287
22 AppKit 0x00007fff9092b389 +[NSSavePanel newRemotePanel] + 309
23 AppKit 0x00007fff9092b445 +[NSSavePanel _crunchyRawUnbonedPanel] + 120
24 AppWage 0x000000010006c99a -[AppDelegate onImportSalesReports:] + 714
25 AppKit 0x00007fff9052a340 -[NSApplication sendAction:to:from:] + 327
26 AppKit 0x00007fff905452a8 -[NSMenuItem _corePerformAction] + 394
27 AppKit 0x00007fff90544fe4 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 117
28 AppKit 0x00007fff9059448d -[NSMenu _internalPerformActionForItemAtIndex:] + 35
29 AppKit 0x00007fff90594309 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 104
30 AppKit 0x00007fff9053b0d6 NSSLMMenuEventHandler + 716
31 HIToolbox 0x00007fff8f5b91d4 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 892
32 HIToolbox 0x00007fff8f5b8787 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 385
33 HIToolbox 0x00007fff8f5cc880 SendEventToEventTarget + 40
34 HIToolbox 0x00007fff8f602640 _ZL18SendHICommandEventjPK9HICommandjjhPKvP20OpaqueEventTargetRefS5_PP14OpaqueEventRef + 420
35 HIToolbox 0x00007fff8f635238 SendMenuCommandWithContextAndModifiers + 59
36 HIToolbox 0x00007fff8f6351e0 SendMenuItemSelectedEvent + 178
37 HIToolbox 0x00007fff8f6350bf _ZL19FinishMenuSelectionP13SelectionDataP10MenuResultS2_ + 94
38 HIToolbox 0x00007fff8f63d095 _ZL14MenuSelectCoreP8MenuData5PointdjPP13OpaqueMenuRefPt + 718
39 HIToolbox 0x00007fff8f63ccc1 _HandleMenuSelection2 + 446
40 AppKit 0x00007fff904ad73c _NSHandleCarbonMenuEvent + 284
41 AppKit 0x00007fff9030c6be _DPSNextEvent + 2170
42 AppKit 0x00007fff9030ba2b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
43 AppKit 0x00007fff902ffb2c -[NSApplication run] + 553
44 AppKit 0x00007fff902ea913 NSApplicationMain + 940
45 AppWage 0x000000010009a872 main + 34
46 libdyld.dylib 0x00007fff8cfb15fd start + 1
47 ??? 0x0000000000000003 0x0 + 3
如果我将打开的面板切换为:
它可以正常工作,但是打开的面板不再是我的主窗口上的工作表。
我没有使用正确的方式启动NSOpenPanel
吗?
cocoa - 使用沙箱从本地路径加载 nsimage 文件
我正在尝试从本地卷加载 PNG 图像。用户使用普通的NSOpenPanel
. 启用沙箱后,init 方法加载本地文件返回 nil。我也在尝试使用NSURL
,但我不知道如何用于不在远程或捆绑包中的本地存储文件。