2011-07-01 11 views
1

内の画像を有するはい、それが有することが可能である:ドロップダウンメニューとNSTableViewとメニュー

  1. 2つの列(簡単にする必要があります)
  2. セルの一方の画像を持っているべきであり、それは選択可能でなければならを有するテーブルドロップダウンメニュー
    グーグルでは、タイプNSPopupButtonCellタイプでなければならないことを知りましたが、内部にはテキストのみの画像が必要です
    どうすればいいですか?
  3. もう1つの列は編集可能なので、ユーザーはそれを入力できるはずです。

同じコードを実装するための参照コードを取得できれば素晴らしいと思います。

私は次のようにそれをやった

答えて

2

、Coloumn 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]]; 
    } 

} 

を設定するには、次のコードを追加します。今、これだけではないとするのMenuItem内の画像を追加することで、保留中大したことはありません。

これを見てくれてありがとうございました。他の方法があれば教えてください。

関連する問題