NSOutlineview с флажком - PullRequest
       28

NSOutlineview с флажком

0 голосов
/ 13 декабря 2018

Я хочу добавить чекбоксы в NSOutlineview с привязками, используя в качестве основы этот проект https://developer.apple.com/library/archive/samplecode/SourceView/Introduction/Intro.html

Как добавить поведение, чтобы разрешить пользователям, при котором, если я нажму родительский флажок, тогда он выберетдети, и если я откажусь от него - он отменит выбор этого элемента?

Заранее спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Подключите действие флажка к методу действия делегата в виде структуры.В методе действия установите свойство дочерних узлов и перезагрузите элемент и дочерние элементы.

- (IBAction)checkboxAction:(id)sender {
    NSInteger row = [self.myOutlineView rowForView:sender];
    if (row >= 0) {
        id item = [self.myOutlineView itemAtRow:row];
        if ([item isKindOfClass:[NSTreeNode class]]) {
            BaseNode *node = [item representedObject];
            if ([node isKindOfClass:[BaseNode class]]) {
                for (BaseNode *child in node.children)
                    child.isSelected = node.isSelected;
                [self.myOutlineView reloadItem:item reloadChildren:YES];
            }
        }
    }
}
...