zoukankan      html  css  js  c++  java
  • NSOpenPanel-Object C组件-打开对话框-选择文件/文件夹获得路径

    1. NSOpenPanel的beginWithCompletionHandler:^(NSInteger result),打开文件对话框时,对话框出现在屏幕的中央。

        
        NSMutableArray * fileURLArray = [[NSMutableArray alloc] init];
        
        NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel];
        [mySelectPanel setCanChooseDirectories:YES];
        [mySelectPanel setCanChooseFiles:YES];
        [mySelectPanel setCanCreateDirectories:YES];
        [mySelectPanel setAllowsMultipleSelection:YES];
        [mySelectPanel setResolvesAliases:YES];
        
        //界面出现在电脑屏幕中央
        [mySelectPanel beginWithCompletionHandler:^(NSInteger result) {
            if (result == NSModalResponseOK) {
                NSLog(@"OK");
                for (NSURL * url in [mySelectPanel URLs]){
                    NSString * path = [NSString stringWithString:[url path]];
                    //path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                    //path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                    [fileURLArray addObject:path];
                    NSLog(@"%@", path);
                }
                for (NSString * a in fileURLArray) {
                    NSLog(@"%@", a);
                }
                
                NSLog(@"%@", fileURLArray);
                
            } else if (result == NSModalResponseCancel) {
                NSLog(@"Cancel");
            } else if (result == NSModalResponseStop) {
                NSLog(@"Stop");
            }
        }];

    2. NSOpenPanel的beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result),打开文件对话框时,对话框依附在操作界面下。

        
        NSMutableArray * fileURLArray = [[NSMutableArray alloc] init];
        
        NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel];
        [mySelectPanel setCanChooseDirectories:YES];
        [mySelectPanel setCanChooseFiles:YES];
        [mySelectPanel setCanCreateDirectories:YES];
        [mySelectPanel setAllowsMultipleSelection:YES];
        [mySelectPanel setResolvesAliases:YES];
        
        //对话框依附在操作界面下
        [mySelectPanel beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result) {
            if (result == NSModalResponseOK) {
                NSLog(@"OK");
                for (NSURL * url in [mySelectPanel URLs]){
                    NSString * path = [NSString stringWithString:[url path]];
                    //path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                    //path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                    [fileURLArray addObject:path];
                    NSLog(@"%@", path);
                }
                for (NSString * a in fileURLArray) {
                    NSLog(@"%@", a);
                }
                
                NSLog(@"%@", fileURLArray);
                
            } else if (result == NSModalResponseCancel) {
                NSLog(@"Cancel");
            } else if (result == NSModalResponseStop) {
                NSLog(@"Stop");
            }
        }];

  • 相关阅读:
    Flush输出表格内容
    [From Linux Toy] inxi– bash script to get system information
    .NET中Mocking框架的对比
    Python中的对象和动态性 [菜鸟的理解,高手莫入]
    《正见 佛陀的证悟》读书摘记 (1)
    Quote for tomorrow
    不抱怨就会死
    web deploy + windows server 2008 r2 64bit + iis 7.5
    bootsnipp
    [转载] A Beginner's Guide to HTTP Cache Headers
  • 原文地址:https://www.cnblogs.com/v-BigdoG-v/p/7602620.html
Copyright © 2011-2022 走看看