Я пытаюсь выяснить, как анимировать переключение (замену) подпредставлений в вертикально настроенном NSSplitView с двумя представлениями.У меня есть полу-работа с использованием следующих методов в моем подклассе NSSplitView:
Чтобы настроить анимацию:
- (void)awakeFromNib {
// set delegate
[self setWantsLayer:YES];
CATransition *transition = [CATransition animation];
[transition setType:kCATransitionPush];
[transition setSubtype:kCATransitionFromBottom];
[transition setDuration:1.0];
[self setAnimations:[NSDictionary dictionaryWithObject:transition
forKey:@"subviews"]];
}
И выполнить это:
- (void)replaceRightView:(NSView *)newView animated:(BOOL)animate {
NSRect currentSize = [[[self subviews] objectAtIndex:1] frame];
[newView setFrame:currentSize];
if (animate) {
[[self animator] replaceSubview:[[self subviews] objectAtIndex:1]
with:newView];
} else {
[self replaceSubview:[[self subviews] objectAtIndex:1]
with:newView];
}
}
Однако этот код имеет эффект отталкивания всего NSSplitView, а не только подпредставления с правой стороны разделения.
Есть ли способ анимировать только переход подпредставления?Возможно, я использую неправильный ключ анимации («подпредставления»)?Другие методы анимации тоже подойдут.
Спасибо!