我有一个 NSPanel,我需要将文件路径加载到它的一个字段中。
我目前正在使用:
NSOpenPanel *browsePanel = [[NSOpenPanel alloc] init];
[browsePanel setCanChooseFiles:YES];
[browsePanel setCanChooseDirectories:NO];
[browsePanel setCanCreateDirectories:NO];
[browsePanel beginSheetForDirectory:nil
file:nil
types:nil
modalForWindow:[self window]
modalDelegate:self
didEndSelector:@selector(browsePanelPanelDidEnd:returnCode:contextInfo:)
contextInfo:[NSNumber numberWithInteger:[sender tag]]
];
但是 NSOpenPanel 工作表没有出现,并且我在控制台中没有收到任何错误消息。我想这是因为我是从现有的工作表中打开它,而且我每次不能加载超过 1 个工作表。
所以我现在使用 [browsePanel makeKeyAndOrderFront:[self window]]; 但我遇到了两个问题:
面板总是在我的模态表的背面,我不能在上面显示它。此外,我无法移动保留在原始工作表上的焦点。
如果我不以模态方式加载它,如何分配结束选择器来处理数据?
谢谢