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中添加图像,这根本不是什么大问题
再次感谢您的关注,让我知道是否有其他方法可以做到这一点