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

  • 相关阅读:
    G. Yash And Trees 线段树 + dfs序 + bitset
    网络流最小割 H
    P2764 最小路径覆盖问题 网络流重温
    P4016 负载平衡问题 网络流重温
    D. Yet Another Subarray Problem 思维 难 dp更好理解
    J
    20190709 暑训 区间种类数 莫队的学习
    E
    线段树 离散化 E. Infinite Inversions E. Physical Education Lessons
    CbsPersist
  • 原文地址:https://www.cnblogs.com/v-BigdoG-v/p/7602620.html
Copyright © 2011-2022 走看看