2010-08-05 73 views
3

對於如何指示編程創建的NSSegmentedControl使用NSSegmentedCell的子類實例,我有點難住。以編程方式定義NSSegmentedCell

如果我想使用使用IB建立了一個NSSegmentedControl一個子類NSSegmentedCell這將是爲執行以下操作簡單:

  1. 拖動NSSegmentedControlNSView
  2. 點擊進入NSSegmentedCell
  3. 在檢查員將類定義分配給子類(例如myCustomCell

工作完成。

然而,當以編程方式創建一個NSSegmentedControl如下面的簡單的例子,我不明白如何繼承細胞...

-(void)creatSegmentControl { 

    if (!mySegmentControl) 
     mySegmentControl = [[NSSegmentedControl alloc] 
           initWithFrame:NSMakeRect(0,0 400,20)]; 

    [mySegmentControl setSegmentCount:2]; 
    [mySegmentControl setLabel:@"First" forSegment:0]; 
    [mySegmentControl setLabel:@"Second" forSegment:0]; 
    [mySegmentControl setTarget:self]; 
    [mySegmentControl setAction:@selector(segmentClicked:)]; 
} 

NSSegmentedControl沒有出現有一種方法來定義類用於細分細胞實例。

像往常一樣,任何和所有的幫助表示讚賞。

更新

試圖實現[mySegmentControl setCellClass:[myCustomCell class]但也不能工作。我在想,也許它繼承了像其他AppKit控件一樣設置單元類的能力。 :-(

這必須是可能的,但...不知何故...

+0

SDK文檔是有點幫助在這裏。或許,解決方案是從一個只包含控件的筆尖加載你的分段控件? – 2010-08-05 01:17:50

+0

@Seamus,感謝你的快速響應。我可以把它放到NIB中,但我的應用程序中已經有很多的筆尖文件,所以我是一個對於爲了一個子類而添加NIB很少猶豫。你說得對,文檔在這方面提供的幫助很少。 – Hooligancat 2010-08-05 02:18:45

回答

0

很晚了,但不會覆蓋cellClass工作?

+ (Class)cellClass 
{ 
    return [YourCustomCellClass class]; 
}