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");
            }
        }];

  • 相关阅读:
    Java实现蓝桥杯 九宫幻方
    Java实现蓝桥杯 九宫幻方
    Java实现蓝桥杯 九宫幻方
    Java实现蓝桥杯 九宫幻方
    Java实现蓝桥杯 历届试题 合根植物
    dddd
    隋唐英雄第70集和第90集的片头真有意思
    造成远程文件大小为零的原因(索引值里变成了0)
    QDataStream类参考(串行化数据,可设置低位高位,以及版本号),还有一个例子
    房价收入比大幅攀升,已经达到足以傲视全球的境界,这已是大家的共识(好几段评论都非常精彩)
  • 原文地址:https://www.cnblogs.com/v-BigdoG-v/p/7602620.html
Copyright © 2011-2022 走看看