Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 带下拉菜单且菜单内有图像的NSTableView_Objective C_Cocoa_Nstableview_Nspopupbuttoncell - Fatal编程技术网

Objective c 带下拉菜单且菜单内有图像的NSTableView

Objective c 带下拉菜单且菜单内有图像的NSTableView,objective-c,cocoa,nstableview,nspopupbuttoncell,Objective C,Cocoa,Nstableview,Nspopupbuttoncell,是的,是否有可能: 有两列的表(应该很简单) 其中一个单元格应该有图像,并且可以从下拉菜单中选择图像 通过谷歌搜索,我知道它必须是NSPopupButtonCell类型,但我只想要里面的图像,没有文本, 我该怎么做 另一列将是可编辑的,用户应该能够键入该列 如果我能得到任何实现相同功能的参考代码,那就太好了。我用以下方法实现了它 在Column 1中,选择DataCell并将其分配为NSPopupButtonCell类型,默认情况下它不会出现,您需要显式地选择它 在代码中添加以下代码行 NSTa

是的,是否有可能:

  • 有两列的表(应该很简单)
  • 其中一个单元格应该有图像,并且可以从下拉菜单中选择图像
    通过谷歌搜索,我知道它必须是NSPopupButtonCell类型,但我只想要里面的图像,没有文本,
    我该怎么做
  • 另一列将是可编辑的,用户应该能够键入该列
    如果我能得到任何实现相同功能的参考代码,那就太好了。

    我用以下方法实现了它

    在Column 1中,选择DataCell并将其分配为NSPopupButtonCell类型,默认情况下它不会出现,您需要显式地选择它

    在代码中添加以下代码行

    NSTableColumn *option = [pTableColumns objectAtIndex:[pTableView columnWithIdentifier:OPTION_COLUMN_NAME]];
    NSTableColumn *shortCutItem = [pTableColumns objectAtIndex:[pTableView columnWithIdentifier:SHORTCUT_COLUMN_NAME]];
    
    // we want first cell to have the Image & Menu 
    //Data type column drop down
    NSPopUpButtonCell *dataTypeDropDownCell = [option dataCell];//[[NSPopUpButtonCell alloc] initTextCell:@"" pullsDown:YES];
    [dataTypeDropDownCell setBordered:NO];
    [dataTypeDropDownCell setEditable:YES];
    
    NSArray *dataTypeNames = [NSArray arrayWithObjects:@"NULLOrignal", @"String", @"Money", @"Date", @"Int", nil];
    [dataTypeDropDownCell addItemsWithTitles:dataTypeNames];
    
    添加以下代码以设置正确的菜单项

    - (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex{
    
        if([[aTableColumn identifier] isEqualToString:OPTION_COLUMN_NAME]){
            NSPopUpButtonCell *dataTypeDropDownCell = [aTableColumn dataCell];
    
    
            [dataTypeDropDownCell selectItem:[ dataTypeDropDownCell itemAtIndex:3]];
        }
    
    }
    
    现在唯一有待解决的是在MenuItem中添加图像,这根本不是什么大问题

    再次感谢您的关注,让我知道是否有其他方法可以做到这一点