세로로 구성된 2- 뷰 NSSplitView에서 하위 뷰를 전환 (대체)하는 방법을 알아 내려고합니다. 나는 내 NSSplitView 서브 클래스에서 다음과 같은 방법을 사용하여 반 가공있어 :NSSplitView 서브 뷰를 Core Animation으로 바꾸기
애니메이션 설정하려면
- (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를 끄는 효과가 있습니다.
서브 뷰 전환 만 애니메이션 처리 할 수 있습니까? 아마도 잘못된 애니메이션 키 ("하위보기")를 사용하고 있습니까? 다른 애니메이션 방법도 괜찮을 것입니다.
감사합니다.