Brandon Walkin  committed e45b8c4

Split View - Fixed bug where a pane could autoresize its subviews while collapsing or expanding

  • Participants
  • Parent commits 2e67517

Comments (0)

Files changed (1)

File BWSplitView.m

+- (void)restoreAutoresizesSubviews:(NSNumber *)flag
+	[[self collapsibleSubview] setAutoresizesSubviews:[flag boolValue]];
 - (IBAction)toggleCollapse:(id)sender
 	if ([self respondsToSelector:@selector(ibDidAddToDesignableDocument:)])
 	if (resizableSubview == nil)
+	// Record whether the collapsible subview is set to autoresize subviews so we can restore it after the animation
+	BOOL autoresizesSubviews = [[self collapsibleSubview] autoresizesSubviews];
+	// Turn off autoresizesSubviews on the collapsible subview
+	[[self collapsibleSubview] setAutoresizesSubviews:NO];
 	// Get the thickness of the collapsible divider. If the divider cannot collapse, we set it to 0 so it doesn't affect our calculations.
 	float collapsibleDividerThickness = [self dividerThickness];
 	isAnimating = YES;
 	[self performSelector:@selector(animationEnded) withObject:nil afterDelay:[self animationDuration]];
+	[self performSelector:@selector(restoreAutoresizesSubviews:) withObject:[NSNumber numberWithBool:autoresizesSubviews] afterDelay:[self animationDuration]];
 	[self performSelector:@selector(resizeAndAdjustSubviews) withObject:nil afterDelay:[self animationDuration]];