常用的属性
在begin之前设置好即可
- CanChooseDirectories 是否可以选择目录
- AllowsMultipleSelection 是否允许多选
- AllowedFileTypes 允许选择的文件类型,如果都可以的话,就写nil
- DirectoryURL 默认打开的路径
- Prompt 默认的“打开”那两个字可以改变
调用示例
在按钮点击方法中,调用下面方法:
OS X 6之后
- (void)pickFile{
NSOpenPanel* panel = [NSOpenPanel openPanel];
[panel setAllowsMultipleSelection:YES]; //是否允许多选file
[panel beginWithCompletionHandler:^(NSInteger result) {
if (result == NSOKButton) {
NSMutableArray* filePaths = [[NSMutableArray alloc] init];
for (NSURL* elemnet in [panel URLs]) {
[filePaths addObject:[elemnet path]];
}
NSLog(@"filePaths : %@",filePaths);
}
}];
}
OS X 6之前
- (void)openFinder{
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setCanChooseFiles:YES]; //是否能选择文件file
[panel setCanChooseDirectories:YES]; //是否能打开文件夹
[panel setAllowsMultipleSelection:YES]; //是否允许多选file
NSInteger finded = [panel runModal]; //获取panel的响应
if (finded == NSFileHandlingPanelOKButton) {
// NSFileHandlingPanelCancelButton = NSModalResponseCancel; NSFileHandlingPanelOKButton = NSModalResponseOK,
for (NSURL *url in [panel URLs]) {
NSLog(@"文件路径--->%@",url);
//同时这里可以处理你要做的事情 do something
}
}
}
保存文件可使用 NSSavePanel