Utilisez NSOpenPanel
.
Pour un guide sur le traitement des fichiers et l'utilisation des panneaux ouverts, voir le guide Application File Management.
Par exemple:
- (IBAction)addFile:(id)sender
{
NSInteger result;
NSArray *fileTypes = [NSArray arrayWithObject:@"html"];
NSOpenPanel *oPanel = [NSOpenPanel openPanel];
[oPanel setAllowsMultipleSelection:YES];
[oPanel setDirectory:NSHomeDirectory()];
[oPanel setCanChooseDirectories:NO];
result = [oPanel runModal];
if (result == NSFileHandlingPanelOKButton) {
for (NSURL *fileURL in [oPanel URLs]) {
// do something with fileURL
}
}
}
Un autre exemple en utilisant une feuille:
- (IBAction)addFile:(id)sender
{
NSArray *fileTypes = [NSArray arrayWithObject:@"html"];
NSOpenPanel *oPanel = [NSOpenPanel openPanel];
[oPanel setAllowsMultipleSelection:YES];
[oPanel setDirectory:NSHomeDirectory()];
[oPanel setCanChooseDirectories:NO];
[oPanel beginSheetModalForWindow:[self window]
completionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton) {
for (NSURL *fileURL in [oPanel URLs]) {
// do something with fileURL
}
}
}];
}
grâce, mais celui-ci fait une nouvelle fenêtre. Je voudrais celui qui glisse du haut .. Vous savez ce que je veux dire? Je ne sais pas comment ça s'appelle. – pvinis
@pvinis Vous voulez une feuille, alors. Au lieu de '-runModal', utilisez' - beginSheetModalForWindow: completionHandler: '. –
@pvinis J'ai édité la réponse et inclus un exemple en utilisant une feuille. –