减慢UIView动画,就像iOS中的下拉菜单一样

时间:2015-02-10 03:15:23

标签: ios objective-c animation uiview transition

我遇到动画节目UIView慢下来的问题,就像下拉菜单一样。我试过下面的代码,但速度很快。

你可以帮我纠正吗?感谢。

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

我想让UIView像Expedia应用一样慢下来。请给我一些建议。

提前致谢。

2 个答案:

答案 0 :(得分:4)

根据您想要下拉的速度,增加AnimationDuration。

〔实施例:

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

如果您在动画完成之前感觉自己已dropDownView,则表示您可以在动画结束时使用以下代码附加dropDownView

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

答案 1 :(得分:0)

使用UIView动画中的选项

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