NTNT
NTNT

Reputation: 541

Slow down UIView animation like as the dropdown Menu in iOS

I have a problem with animation show UIView slow down like as dropdown menu. I tried below code but it so fast.

Can you help me to correct it? Thanks.

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];

blockView.frame = CGRectMake(newFrame.origin.x, newFrame.origin.y , newFrame.size.width, newFrame.size.height + *h);


[blockView addSubview:dropDownView];
[UIView commitAnimations];

I want to make UIView slow down like as the Expedia app. Please give me some advice.

Thanks in advance.

Upvotes: 1

Views: 3365

Answers (2)

Christian
Christian

Reputation: 382

Use the options in UIView animation

[UIView animateWithDuration:0.5
                  delay:0.0
                options:UIViewAnimationOptionCurveEaseOut
             animations:^{
                // ... do stuff here
           } completion:NULL];

Upvotes: 0

nagarajan
nagarajan

Reputation: 494

Just increase the AnimationDuration based on how much slow u want to make your drop down.

Exmaple:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:5.5];

self.blackView.frame = CGRectMake(newFrame.origin.x, newFrame.origin.y , newFrame.size.width, newFrame.size.height + h);

[self.blackView addSubview:self.dropDownView];

[UIView commitAnimations]

if u feel your dropDownView attached before the animation gets complete means u can use following code to attach your dropDownView at end of the animation completion.

[UIView animateWithDuration:5.5
                 animations:^{
                     self.blackView.frame = CGRectMake(newFrame.origin.x, newFrame.origin.y , newFrame.size.width, newFrame.size.height + h);
                 }
                 completion:^(BOOL finished){
                     [self.blackView addSubview:self.dropDownView];
     }];

Upvotes: 4

Related Questions