Вы столкнулись с нужным человеком здесь.Мне пришлось столкнуться с этим всего неделю назад.
Удаление треугольника раскрытия : внедрите метод frameOfOutlineCellAtRow:
в своем подклассе NSOutlineView
и верните NSZeroRect
(только еслиВы, конечно, хотите скрыть треугольник этой конкретной строки.)
- (NSRect)frameOfOutlineCellAtRow:(NSInteger)row {
return NSZeroRect;
}
Отключить отступ : стандартный макет вида схемы оставляет место в крайнем левом углу для рисования треугольников, в случаепредмет расширяемый.Но вы можете переопределить это для отдельных элементов, указав другую рамку для рисования.Вы также делаете это в своем подклассе, отвечая на это сообщение:
- (NSRect)frameOfCellAtColumn:(NSInteger)column row:(NSInteger)row {
NSRect superFrame = [super frameOfCellAtColumn:column row:row];
if ((column == 0) /* && isGroupRow */) {
return NSMakeRect(0, superFrame.origin.y, [self bounds].size.width, superFrame.size.height);
}
return superFrame;
}