UIView增长动画

时间:2014-04-18 17:58:15

标签: ios objective-c animation uiview

我有一个小的水平条,从设备的一侧到另一侧。 当用户点击此栏时,我想让她成长起来。我做杆的所有测试都向下增长,或者当我改变原点时,我会改变原点。尺寸。高度到达新的y位置,然后在正确的位置增长到底部。我不能让平稳的动画增长。

示例代码:

    __weak typeof(self) weakSelf = self;

int sizeToGrow = 100;
CGRect barFrame = CGRectMake(weakSelf.frame.origin.x, 
                             weakSelf.frame.origin.y - sizeToGrow, 
                             weakSelf.frame.size.width, 
                             weakSelf.frame.size.height + sizeToGrow);

[UIView animateWithDuration:0.7
                      delay:0
                    options: UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     weakSelf.frame = barFrame;
                 }
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];

1 个答案:

答案 0 :(得分:0)

通过延长持续时间,它应该使动画更加渐进。

尝试大约2.0f秒的值。

尝试没有选项,这样动画就是线性的:

[UIView animateWithDuration:0.7
                      delay:0
                    options:0
                 animations:^{
                     weakSelf.frame = barFrame;
                 }
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];