是的,是否有可能:
- 一个有两列的表(应该很容易)
- Cell 之一应该有图像,应该可以从下拉菜单中选择
通过谷歌搜索我知道它必须是 NSPopupButtonCell 类型,但我只想要里面的图像,没有文字,
我该怎么做? - 另一列是可编辑的,用户应该能够输入。
如果我能获得任何参考代码来实现相同的功能,那就太好了。
是的,是否有可能:
如果我能获得任何参考代码来实现相同的功能,那就太好了。
我用以下方式做到了,
在第 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];
添加以下代码以设置正确的 MenuItem
- (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]];
}
}
现在唯一的待定是将 Image 附加到 MenuItem 中,这根本不是什么大问题,
再次感谢您查看此内容,让我知道是否有其他方法可以这样做....