2012-01-03 4 views
0

У меня есть представление (по умолчанию от UIViewController), изображение вверху и панель инструментов сверху.Как анимировать определенную часть UIview

 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]; 

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

+0

Поместите свой ImageView и вид на индивидуальный взгляд и применить анимацию в этой точке зрения. – aViNaSh

+0

@aViNaSh Я пробовал, но между переходами анимации появляется белая тень. Я хочу точно такой же вид, как и в scrollView с включенным пейджингом. – rakeshNS

ответ

0

Вы можете изменить структуру пользовательского интерфейса, как этот

 
     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];

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

+0

проблема в том, что при анимации приходит белая тень. – rakeshNS

Смежные вопросы