gpt4 book ai didi

macos - NSOpenPanel 工作表

转载 作者:行者123 更新时间:2023-12-03 16:10:12 30 4
gpt4 key购买 nike

这就是我将打开的面板显示为 float 窗口的方式。

有人可以帮我将面板作为工作表运行吗?窗口对象是mWindow。我使用的许多标准代码都已被折旧。

NSOpenPanel *openPanel = [NSOpenPanel openPanel];
NSArray* fileTypes = [[NSArray alloc] initWithObjects:@"mp3", @"mp2", @"m4a", nil];

[openPanel setAllowsMultipleSelection: NO];
[openPanel setCanChooseDirectories:NO];
[openPanel setCanCreateDirectories:NO];
[openPanel setCanChooseFiles:YES];
[openPanel setAllowedFileTypes:fileTypes];

NSString * filePath = @"~/Desktop";
filePath = [filePath stringByExpandingTildeInPath];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
[openPanel setDirectoryURL:fileURL];

NSInteger clicked = [openPanel runModal];
if (clicked == NSFileHandlingPanelOKButton) {
for (NSURL *url in [openPanel URLs]) {
NSString *urlString = [url path];
[input setStringValue:urlString];
NSString *myString = [input stringValue];
NSString *oldPath = [myString lastPathComponent];
[inputDisplay setStringValue:oldPath];
}
}

最佳答案

非常简单,它就在文档中,尽管您可能错过了它,因为相关方法实际上是 NSSavePanel 的一部分,NSOpenPanel 继承自 NSSavePanel。

假设您的目标是 Sn​​ow Leopard 或更好的版本,因此可以访问 block ,只需将 runModal 调用替换为以下内容即可:

[openPanel beginSheetModalForWindow:mWindow completionHandler:^(NSInteger result) {

if (result == NSFileHandlingPanelOKButton) {

// Do something.
}
}];

关于macos - NSOpenPanel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9218679/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com