gpt4 book ai didi

objective-c - Objc scriptingbridge 如何在特定文件夹中打开新的 Finder 窗口

转载 作者:行者123 更新时间:2023-12-03 17:21:36 25 4
gpt4 key购买 nike

我想在特定位置打开一个特定大小的新 Finder 窗口并显示特定文件夹。

在 ScriptingBridge(XCode 6、Mavericks 9.4)中,我可以打开一个新的 Finder 窗口,并弄清楚如何读取它打开的文件夹的 URL。但我真的很苦恼如何将文件夹设置为不同的东西。

我尝试为窗口分配一个使用“URL”属性初始化的“目标”SBObject。但 URL 属性是只读的,尽管“target”似乎不是。我使用“get”来确保存在 FinderFolder 对象和 FinderFinderWindow 对象。

我尝试使用带有 URL 键的属性字典并创建一个“文件夹”。

FinderFolder *folder = [[[_finder classForScriptingClass:@"folder"] alloc]
initWithProperties:dict];
[[_finder folders] addObject:folder];

我已阅读 Apple 文档并查找所有示例,但找不到分配文件夹路径的实例。

最佳答案

// open folder "Documents" of home folder
FinderFolder *theHomeFolder = [theFinder home];
NSLog(@"theHomeFolder: %@",theHomeFolder);

SBElementArray * theHomeFolderFolders = [theHomeFolder folders];
NSLog(@"theHomeFolderFolders: %@",theHomeFolderFolders);

FinderFolder *theDocsFolder = [theHomeFolderFolders objectWithName:@"Documents"];
NSLog(@"theDocsFolder: %@",theDocsFolder);

[theDocsFolder openUsing:nil withProperties:nil];
FinderFinderWindow * docsFolderWindow = (FinderFinderWindow*) [theDocsFolder containerWindow];
NSLog(@"docsFolderWindow: %@",docsFolderWindow);

docsFolderWindow = [docsFolderWindow get];
NSLog(@"docsFolderWindow: %@",docsFolderWindow);

// change its bounds
docsFolderWindow.bounds = NSMakeRect(64., 64., 800, 600.);

// other fun stuff…
[docsFolderWindow setCurrentView:FinderEcvwListView];
[[docsFolderWindow iconViewOptions] setArrangement:FinderEarrArrangedByName];
[docsFolderWindow cleanUpBy:@selector(name)];

docsFolderWindow.toolbarVisible = NO;
docsFolderWindow.statusbarVisible = NO;
docsFolderWindow.sidebarWidth = 0;

关于objective-c - Objc scriptingbridge 如何在特定文件夹中打开新的 Finder 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24544929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com