2013-10-04 68 views
0

使用NSStepper實現自定義NSCell和顯示由步進器增加/減少的值的標籤有多困難?使用NSStepper和標籤實現自定義NSCell有多困難?

我不能添加子視圖,所以我如何添加這樣的子組件?

感謝

+0

是否有原因不使用NSViews?例如,'NSTableView'自10.7開始支持使用NSView而不是NSCell。 – DarkDust

+0

@DarkDust很遺憾,我無法更改表格實現的其餘部分來自定義單元格。我們也支持10.6 – aneuryzm

回答

0

是的,它是可能的,你可以採取NSStepperCell在NSTableView的。但是爲了讓這個值出現在你的NSTableView中,你必須將一個列中的兩個NSTableColumn拖放到NSStepperCell中,另一個默認情況下它將是文本單元。現在使用模型keypath將您的列綁定到數組控制器。在NSStepperCell模型中,鍵路徑應該是float值,而其他值將是sinple字符串值。完成此操作後,編寫一個操作方法並綁定到NSStepperCell。以下是寫入的出現該值的操作方法。

-(IBAction)doIncrement:(id)sender 
{ 
    step+=1.0; ///This step is the float value of NSStepperCell and binded with arrayController 
NSNumber *num=[NSNumber numberWithFloat:step]; 
    NSMutableDictionary *dict=[NSMutableDictionary dictionary]; 
    for(dict in [arrayController arrangedObjects]) 
    { 
     [dict setObject:num forKey:@"displayStepperValue"]; //@"displayStepperValue" this is another column textcell which will print steppercell value when you click on the arrows of NSStepperCell. 
    } 
    [arrayController rearrangeObjects]; //here refershing the arraycontroller 

}