I'm 开发者_如何学JAVAlooking for an equivalent to GetOpenFileName function for Windows.
Standard Cocoa class for Open File UI is NSOpenPanel
Example code:
//this gives you a copy of an open file dialogue
NSOpenPanel* openPanel = [NSOpenPanel openPanel];
//set the title of the dialogue window
openPanel.title = @"Choose a .PED texture file";
//shoud the user be able to resize the window?
openPanel.showsResizeIndicator = YES;
//should the user see hidden files (for user apps - usually no)
openPanel.showsHiddenFiles = NO;
//can the user select a directory?
openPanel.canChooseDirectories = NO;
//can the user create directories while using the dialogue?
openPanel.canCreateDirectories = YES;
//should the user be able to select multiple files?
openPanel.allowsMultipleSelection = NO;
//an array of file extensions to filter the file list
openPanel.allowedFileTypes = @[@"ped"];
//this launches the dialogue
[openPanel beginSheetModalForWindow:appDelegate.controlsWindow
completionHandler:^(NSInteger result) {
//if the result is NSOKButton
//the user selected a file
if (result==NSOKButton) {
//get the selected file URLs
NSURL *selection = openPanel.URLs[0];
//finally store the selected file path as a string
NSString* path = [[selection path] stringByResolvingSymlinksInPath];
//here add yuor own code to open the file
}
}];
精彩评论