Iphone 如何设置UIview某些部分的动画

Iphone 如何设置UIview某些部分的动画,iphone,animation,core-animation,quartz-graphics,Iphone,Animation,Core Animation,Quartz Graphics,我有一个视图(UIViewController中的默认视图)、上面的图像视图和顶部的工具栏 Toolbar --------- UIImageView ----------- UIView 这是基本结构。我想在当前使用代码时,仅为UIView和UIImageView而不是工具栏设置动画 CATransition *animation = [CATransition animation]; [animation setDelegate

我有一个视图(UIViewController中的默认视图)、上面的图像视图和顶部的工具栏

       Toolbar
      ---------
     UIImageView
     -----------
       UIView
这是基本结构。我想在当前使用代码时,仅为UIView和UIImageView而不是工具栏设置动画

CATransition *animation = [CATransition animation];

[animation setDelegate:self];
[animation setType:kCATransitionPush];

if ([directionScrolled isEqualToString:@"1"]) {
    [animation setSubtype:kCATransitionFromRight];
}
else if([directionScrolled isEqualToString:@"2"]){
    [animation setSubtype:kCATransitionFromLeft];
}

[animation setDuration:0.20];
[animation setTimingFunction:
 [CAMediaTimingFunction functionWithName:
  kCAMediaTimingFunctionDefault]];


[[self.view layer] addAnimation:animation forKey:kCATransition]; 

整个视图已设置动画(以及工具栏)。我想从动画中排除工具栏。

您可以像这样重新排列UI结构

UIView ( this view is assigned to UIViewController ) | |------Toolbar |------UIView ( lets take another UIView and name it as myView) |-------UIImageView UIView(此视图已指定给UIViewController) | |------工具栏 |------UIView(使用另一个UIView并将其命名为myView) |-------UIImageView 然后执行与您相同的代码。 除了

last line will be [[self.myView layer] addAnimation:animation forKey:kCATransition]; 最后一行是[[self.myView layer]addAnimation:animation-forKey:kCATransition];
请确保

将图像视图和视图放在单独的视图中,并在该视图中应用动画。@aViNaSh我尝试过,但动画转换之间出现白色阴影。我想要与启用分页的scrollView中完全相同的外观。问题是在设置动画时出现白色阴影。