NSSavePanel can't change file name

吃可爱长大的小学妹 提交于 2019-12-11 03:05:06

问题


In my mac app I'm using NSSavePanel - but it's behaving very strange. Sometimes I can't change the default name of the file.

I'm using it like this:

NSSavePanel *savePanel = [NSSavePanel savePanel];
[savePanel setAllowedFileTypes:@[@"jpg"]];
[savePanel setLevel:CGShieldingWindowLevel()];

if([savePanel runModal] == NSFileHandlingPanelOKButton)
{
    //saving file
}

I can't find why sometimes it lets me change the file name and other times no, I can save a file but a changing name in save panel is blocked


回答1:


Have you tried providing a default name?

[savePanel setNameFieldStringValue:@"New File.txt"];



回答2:


Swift 4

let panel = NSSavePanel()
panel.nameFieldStringValue = "filename.txt" // <-- user editable prompt 

if panel.runModal() == NSApplication.ModalResponse.OK, let url = panel.url {
    // use url path here
}


来源:https://stackoverflow.com/questions/29669048/nssavepanel-cant-change-file-name

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!