gpt4 book ai didi

objective-c - NSSavePanel 选择部分文件名

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

如何设置在 NSSavePanel 中选择的文件名部分?我只想选择文件名而不是文件扩展名。

这是我注意到的。如果我为保存面板设置AllowedFileTypes:,则仅选择文件名,而不选择文件扩展名。但是,如果我没有设置允许的文件类型,则会选择文件扩展名和文件名。

我不想使用 setAllowedFileTypes,但我仍然想控制选择,以便不选择文件扩展名。可以吗?

最佳答案

我明白了。我以前不知道这一点,但如果正在编辑某些包含文本的对象,每个窗口都有一个字段编辑器。由于正在编辑文件名字段,因此保存面板有一个。字段编辑器只是一个 NSTextView,因此有一个方法 setSelectedRange:。所以我利用了这些知识,这就是解决方案。每当您只想选择文件名时,只需在 NSSavePanel 上调用此函数即可。

NSText* editor = [savePanel fieldEditor:NO forObject:nil];
if (editor) {
NSString* nameFieldString = [savePanel nameFieldStringValue];
NSString* nameFieldExt = [nameFieldString pathExtension];
if (nameFieldExt != nil) {
NSInteger newLength = [nameFieldString length]-[nameFieldExt length]-1;
[editor setSelectedRange:NSMakeRange(0, newLength)];
}
}

关于objective-c - NSSavePanel 选择部分文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663309/

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