2015-12-23 3 views
0

У меня есть UIView при X = 0 и Y = 0 с высотой 110 и UIButton в нижней части экрана с высотой 50, я хочу показать как анимация, но UIView должен анимировать сверху до высоты и UIButton снизу до высоты, я совершенно новый, пожалуйста, помогите мне, как это сделать.Анимация UIview сверху вниз и наоборот

ответ

1

основной анимации, который может соответствовать вашему требованию

[UIView transitionWithView:view 
        duration:0.5 
        options:UIViewAnimationOptionTransitionNone 
       animations:^{ 
        //update your frame here; 
       } 
       completion:nil]; 

Пожалуйста, пройти через Apple Documentation и stack overflow

0

После код работали для меня, чтобы показать вид поиска на вершине.

if (!isSearchActive) { 
    [UIView animateWithDuration:0.4 
          delay:0.1 
         options: UIViewAnimationOptionCurveEaseIn 
        animations:^{ 
         searchView.frame = CGRectMake(0, 56, mainWidth, 50); 
        } 
        completion:^(BOOL finished){ 
        }]; 
    isSearchActive=YES; 
} 
else{ 
    [UIView animateWithDuration:0.3 
          delay:0.1 
         options: UIViewAnimationOptionCurveEaseIn 
        animations:^{ 
         searchView.frame = CGRectMake(0, 56, mainWidth, 0); 
        } 
        completion:^(BOOL finished){ 
        }]; 
    isSearchActive=NO; 
} 

Назовите этот код нажатием любой кнопки, чтобы показать и скрыть представление.

0

Попробуйте для верхней части к нижней анимации:

- (CAAnimation*)movedown; 
{ 
    CABasicAnimation *animation = [CABasicAnimation animation]; 
    animation.keyPath = @"position.y"; 
    animation.fromValue = @600; 
    animation.toValue = @50; 
    animation.duration = 0.25; 

    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; 


    [trashView.layer addAnimation:animation forKey:@"basic"]; 
    trashView.layer.position =CGPointMake(0,-20); 
    return animation; 
} 

и код для снизу вверх:

- (CAAnimation*)moveup; 
{ 
    CABasicAnimation *animation = [CABasicAnimation animation]; 
    animation.keyPath = @"position.y"; 
    animation.fromValue = @-500; 
    animation.toValue = @10; 
    animation.duration = 0.25; 

    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; 


    [trashView.layer addAnimation:animation forKey:@"basic"]; 
    trashView.layer.position =CGPointMake(0,20); 
    return animation; 

} 

для первого блока кода, который вы можете использовать, чтобы оживить вид, но вы должны заменить ваш viewcontroller по адресу trashview в коде.

и использование второго блока для кнопки, но вы должны заменить свою кнопку на trashview.

, но вы можете установить значение анимации в соответствии с вашими потребностями.

+0

Я пробовал это, и он хорошо работает. просто нужно изменить значение и установить анимацию. –

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