Как оживить определенную часть UIview - PullRequest
0 голосов
/ 03 января 2012

У меня есть вид (по умолчанию из 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]; 

весь вид анимирован, (вместе с панелью инструментов). Я хочу исключить панель инструментов из анимации.

1 Ответ

0 голосов
/ 03 января 2012

Вы можете изменить структуру вашего интерфейса следующим образом

      UIView ( this view is assigned to UIViewController )
       |
       |------Toolbar
       |------UIView ( lets take another UIView and name it as myView)
               |-------UIImageView
  

А затем выполните тот же ваш код. Кроме этого,

 last line will be  [[self.myView layer] addAnimation:animation forKey:kCATransition];

Убедитесь, что

...