diff --git a/RATreeView/RATreeView/Private Files/RATreeNodeController.m b/RATreeView/RATreeView/Private Files/RATreeNodeController.m old mode 100644 new mode 100755 index 4d21be0..77cf132 --- a/RATreeView/RATreeView/Private Files/RATreeNodeController.m +++ b/RATreeView/RATreeView/Private Files/RATreeNodeController.m @@ -176,15 +176,23 @@ - (void)privateCollapseAndCollapseChildren:(BOOL)collapseChildren [self.treeNode setExpanded:NO]; [self invalidate]; - if (collapseChildren) { - for (RATreeNodeController *controller in self.childControllers) { - [controller collapseAndCollapseChildren:collapseChildren]; - } - } - + [self invalidateAndColapseChildren:collapseChildren]; + [self.parentController invalidateTreeNodesAfterChildAtIndex:[self.parentController.childControllers indexOfObject:self]]; } +- (void)invalidateAndColapseChildren:(BOOL)collapseChildren +{ + if (collapseChildren) + { + [self.treeNode setExpanded:NO]; + } + [self invalidate]; + + for (RATreeNodeController *controller in self.childControllers) { + [controller invalidateAndColapseChildren:collapseChildren]; + } +} #pragma mark -