在NSPopUpButton中显示文件夹

Ank*_*oma 4 directory macos objective-c nspopupbutton

我想在我的NSPopUpButton中显示带有图标的文件夹.弹出窗口常用于选择文件路径.我是新用户,我无法发布图片.你可以在U Torrent-> preferences->目录中看到它

请提供详细的答案,因为我是全新的.

非常感谢,抱歉我的英语不好

tag*_*lia 5

对于NSMenuItem菜单中的每个菜单,您需要设置适当的图像,然后调用setImage:

简而言之,您需要准备菜单项,将其附加到菜单,并将后者附加到弹出按钮,如下所示:

NSPopUpButton *yourButton = [[NSPopUpButton alloc] init];
NSMenu *yourMenu = [[NSMenu alloc] init];

NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:@"some label" action:nil keyEquivalent:@""];
NSImage *iconImage = [[NSWorkspace sharedWorkspace] iconForFile:@"yourFilePath"];
[iconImage setSize:NSMakeSize(16,16)];

[menuItem setImage:iconImage];
[yourMenu insertItem:menuItem atIndex:0];
[yourButton setMenu:yourMenu];
Run Code Online (Sandbox Code Playgroud)

请注意使用iconForFile:in NSWorkspace,它允许您显示Finder中使用的相同图标.

有关更多示例,您可以通过Apple查看此示例代码:ButtonMadness