标签: nspopupbuttoncell

将NSPopUpButtonCell与NSTableView一起使用

您好我正在尝试在NSTableView中使用NSPopUpButtonCell.基本上,当您在弹出窗口中选择一个项目时,我希望它显示在表格视图列/行中.当按下弹出单元格中的项目时,我使用"tableView:setObject:forTableColumn:row"将其存储在数据源中,然后当表请求检索数据并在"tableView:objectValueForTableColumn"中设置弹出单元格的状态时:行:".请查找附上我的代码.我现在完全被困住了.我希望有人能理解它.先感谢您.

这是在控制器内部:

  //Create the table columns
  NSTableColumn *nameColumn = [[NSTableColumn alloc] initWithIdentifier:LXDetailItemName];
  NSTableColumn *dataTypeColumn = [[NSTableColumn alloc] initWithIdentifier:LXDetailItemDataType];
  NSTableColumn *deviceColumn = [[NSTableColumn alloc] initWithIdentifier:LXDetailItemDevice];

  //Data type column drop down
  NSPopUpButtonCell *dataTypeDropDownCell = [[NSPopUpButtonCell alloc] initTextCell:@"" pullsDown:YES];
  [dataTypeDropDownCell setBordered:NO];
  [dataTypeDropDownCell setEditable:YES];

  NSArray *dataTypeNames = [NSArray arrayWithObjects:@"NULL", @"String", @"Money", @"Date", @"Int", nil];
  [dataTypeDropDownCell addItemsWithTitles:dataTypeNames];
  [dataTypeColumn setDataCell:dataTypeDropDownCell];

  //Add the columns to the table
  [tableView addTableColumn:nameColumn];
  [tableView addTableColumn:dataTypeColumn];
  [tableView addTableColumn:deviceColumn]; 
    enter code here
Run Code Online (Sandbox Code Playgroud)

这是在datasource/delegate类中.

enter code here

@implementation LXTestDataSource

- (id)init
{
 self = …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nstableview nspopupbuttoncell

6
推荐指数
1
解决办法
4252
查看次数

如何显示嵌入在 NSPopover 中的 NSMenu?

有没有办法将NSMenu类似对象显示为 a 的内容NSPopover

本质上,我想在您右键单击应用程序图标时重现 macOS Dock 所做的事情(我不介意这里的深色背景,我只对以类似弹出框的窗口样式显示菜单感兴趣指向其目标的箭头)。

我一直在研究是什么NSPopUpButton,但我找不到以这种方式配置这个组件的方法;它有一个,arrowPosition但这实际上是指按钮本身上箭头的方向。也是NSMenu一个NSObject又一次,我看不到一种干净的方式来抓取它的视图并将其添加到弹出窗口中,所以我想这是不可能的,但也许你有更好的主意?

感谢您的任何建议!

在此处输入图片说明

macos nspopupbuttoncell nspopupbutton nspopover

5
推荐指数
1
解决办法
346
查看次数

如何制作带有图像和文本菜单的NSPopupButton?

我有一个应用程序列表,我想制作一个NSPopupButton应用程序名称菜单,每个项目左侧有一个图标.

我已经能够绑定NSPopupButton到我的项目数组,但没有图像的绑定条目.我以为我可以把一个细胞放在那里并将细胞绑定为图像和文本,但我在IB中找不到合适的细胞.

有没有一种干净简单的方法来使用绑定?我必须写一个自定义单元格吗?

cocoa binding nspopupbuttoncell nspopupbutton

2
推荐指数
1
解决办法
3365
查看次数

将NSPopupButton调整为其选定的标题

我有一个NSPopupButton,我想要它调整自己以适应所选的标题.

[NSPopupButton sizeToFit]不符合我的需要,因为弹出窗口被调整为最大的标题项而不是当前选定的标题项

我试图在没有成功的情况下尽可能地接近

#define ARROW_WIDTH 20
NSDictionary *displayAttributes = [NSDictionary dictionaryWithObjectsAndKeys:[popup font], NSFontAttributeName, nil];
NSSize titleSize = [popup.titleOfSelectedItem sizeWithAttributes:displayAttributes] + ARROW_WIDTH;
Run Code Online (Sandbox Code Playgroud)

但是常量值ARROW_WIDTH是一个非常脏且容易出错的解决方案.

状态栏上的TextWrangler编码组合就像我需要的那样工作

cocoa nspopupbuttoncell nspopupbutton

2
推荐指数
1
解决办法
1869
查看次数

单击时,自定义单元格内的NSPopUpButtonCell不会弹出

我已经使用NSImageCell,一些NSTextFieldCells和一个NSPopUpButtonCell创建了NSCell的自定义子类.

我正在使用以下命令初始化弹出单元格:

    myPopUpCell = [[NSPopUpButtonCell alloc] init];
    [myPopUpCell setBordered:NO];
    [myPopUpCell setAutoenablesItems:NO];
    [myPopUpCell addItemsWithTitles:[NSArray arrayWithObjects:@"Item1", @"Item2", @"Item3"]];
Run Code Online (Sandbox Code Playgroud)

并将其吸引进去 drawInteriorWithFrame:inView:

一切似乎都很好,除了在运行我的应用程序时单击弹出单元格时,单元格不会弹出.关于可能出错的任何建议?

cocoa custom-controls nspopupbuttoncell custom-cell

1
推荐指数
1
解决办法
507
查看次数