2015-06-06 61 views
0

我想處理點擊NSOutlineView中的複選框。 複選框是複選框NSButtonCell類型的單元格。 我能夠設置在初始狀態:如何處理單元格中的複選框點擊NSOutlineView

optional func outlineView(_ outlineView: NSOutlineView, 
          willDisplayCell cell: AnyObject, 
          forTableColumn tableColumn: NSTableColumn?, 
          item item: AnyObject) 

現在,我怎麼能執行一個功能時的複選框的狀態發生變化? 我搜索了互聯網,但我找不到。

回答

0

我發現這個從表中設置的值:

DragNDropOutlineView: implementing drag and drop in an NSOutlineView

// Optional method: needed to allow editing. 
- (void)outlineView:(NSOutlineView *)ov setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item { 
AAPLSimpleNodeData *nodeData = [item representedObject]; 

// Here, we manipulate the data stored in the node. 
if ([[tableColumn identifier] isEqualToString:COLUMID_IS_SELECTABLE]) { 
    nodeData.selectable = [object boolValue]; 
} 

}

另一種方式是設置每個小區的目標和動作中:

optional func outlineView(_ outlineView: NSOutlineView, 
         willDisplayCell cell: AnyObject, 
         forTableColumn tableColumn: NSTableColumn?, 
         item item: AnyObject) 
1
+0

對不起,我不明白這與我的問題有什麼關係^^' – Phoenix

+0

您必須從複選框處理操作。你可以通過兩種方式來完成。 1)您可以簡單地將xib中的IBA從您的細胞中製作到您的控制器,或者以編程方式進行。當您在複選框上執行操作時,將根據狀態更新模態並重新加載項目 –

+0

IB不允許我從單元格中拖動... – Phoenix

相關問題