I'm afraid you would probably have to create your own custom animation that does everything manually. To animate the column, here is a general idea:
- (IBAction)animateColumn:(id)sender
{
NSTableColumn *tableColumn; // = set your table column
CGFloat initialWidth = [tableColumn width];
CGFloat finalWidth; // = whatever
dispatch_async(dispatch_get_global_queue(0,0), {
double animationTime = 2; //seconds
double timeElapsed = 0; //approximate measure; probably good enough
while (timeElapsed<animationTime)
{
double t = timeElapsed/animationTime;
CGFloat width = t*finalWidth + (1-t)*initialWidth;
dispatch_async(dispatch_get_main_queue(), ^{
[tableColumn setWidth:width];
});
NSDate *future = [NSDate dateWithTimeIntervalSinceNow:0.02];
[NSThread sleepUntilDate:future];
timeElapsed += 0.02;
}
dispatch_async(dispatch_get_main_queue(), ^{
[tableColumn setWidth:finalWidth];
});
});
}
I guess you can adapt this to do what you want. Perhaps you can start this animation at the same time you start the other animation (using the same time for both, changing 2 to 0.2 in my example).