CATransition replaceSubView:with ...正在为所有视图设置动画

时间:2010-07-18 08:28:06

标签: cocoa animation core-animation nsview catransition

我怎么能这样做所以我的所有视图的子视图都没有在这里动画,只有currentPage的representView和newPage代表的视图?

CATransition *transition = [CATransition animation];
    [transition setType:kCATransitionPush];
    [transition setSubtype:([self indexOfPage:currentPage] < [self indexOfPage:newPage]) ? kCATransitionFromRight : kCATransitionFromLeft];


    NSDictionary *ani = [NSDictionary dictionaryWithObject:transition 
                                                    forKey:@"subviews"];
    [self setAnimations:ani];
    [self.animator replaceSubview:currentPage.representedView with:newPage.representedView];

1 个答案:

答案 0 :(得分:0)

首先,如果这是你创建动画的确切属性,请求不动画子视图似乎很奇怪,所以我不清楚你想要做什么。

其次,动画的默认行为是为视图及其所有子视图设置动画。如果您只想为父视图和特定子视图设置动画,则不应添加您不想作为其子画面设置动画的视图,而应将它们设置为具有正确z顺序的兄弟视图。