2013-03-27 3 views
0

Мне было интересно, можно ли создать анимацию UIButton, чтобы кнопка быстро скользила по экрану, замедляясь по мере ее достижения, а затем ускоряется и выходит из экрана с другой стороны. кнопка не должна быть нажата, так что я использую:анимация движения UIButton

userInteractionEnabled = NO; 

Это то, что я пытался сделать:

UIButton* buttonNumberCountTutorial = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[buttonNumberCountTutorial setTitle:@"2" forState:UIControlStateNormal]; 
[buttonNumberCountTutorial setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
[buttonNumberCountTutorial.titleLabel setFont:[UIFont fontWithName:@"Zapfino" size:40]]; 
buttonNumberCountTutorial.frame = CGRectMake(-400, 430, 400, 400); 
[buttonNumberCountTutorial setBackgroundImage:[UIImage imageNamed:@"socialize-navbar-bg.png"]forState:UIControlStateNormal]; 
[baseView addSubview:buttonNumberCountTutorial]; 
[UIView animateWithDuration:1.9f 
       animations:^{ 

     buttonNumberCountTutorial.frame = CGRectMake(20, 430, 200, 200); 

     } 
       completion:^(BOOL finished){ 

        [buttonNumberCountTutorial removeFromSuperview]; 
    }]; 
+0

Я согласен с @Mert (под «компиляцией» он подразумевал завершение). Вы можете использовать 'UIViewAnimationOptionCurveEaseOut' в появляющейся части и' UIViewAnimationOptionCurveEaseIn' в исчезающей части (в другой анимации, вставленной в блок завершения оригинала). – Levi

ответ

2

Вы можете определить параметры анимации. Интересные варианты для Вас

UIViewAnimationOptionCurveEaseInOut 
UIViewAnimationOptionCurveEaseIn 
UIViewAnimationOptionCurveEaseOut 
UIViewAnimationOptionCurveLinear 

Вы должны использовать следующий метод класса UIView, чтобы иметь возможность использовать эти опции

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion 

И, конечно, вы можете сделать вложенные анимации, начав новую анимацию в завершении блок.

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