Я немного озадачен тем, как инструктировать программно созданный NSSegmentedControl
использовать экземпляр подкласса NSSegmentedCell
.
Если я хочу использовать подклассы NSSegmentedCell
на NSSegmentedControl
построенный с использованием IB, это будет так же просто, как сделать следующее:
- Перетащите
NSSegmentedControl
в NSView
- Нажмите на
NSSegmentedCell
- В инспекторе присвойте определение класса подклассу (например,
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.: - (
Это должно быть возможно, хотя ... как-то ...