animateWithDuration不起作用

时间:2015-05-22 07:41:09

标签: objective-c ios7 ios8 uianimation

我想要Fadein / Fadeout动画。所以这样写的代码。

0.0到1.0很好。 但1.0到0.0是行不通的。 (设置alpha工作。但立即)

我不知道哪个代码错了。

if (cellmanager.bMenuShow) // doesn't work
{
    [UIView animateWithDuration:1.0f animations:^{
        [cellmanager.topToolBar setAlpha:0.0f];
        [cellmanager.menuView setAlpha:0.0f];
        [cellmanager.botView setAlpha:0.0f];
        [cellmanager.likeView setAlpha:1.0f];
    } completion:^(BOOL finished){
        NSLog(@"Menu hide");
    }];
}
else
{
    [UIView animateWithDuration:1.0f animations:^{ // work
        [cellmanager.topToolBar setAlpha:1.0f];
        [cellmanager.menuView   setAlpha:1.0f];
        [cellmanager.botView    setAlpha:1.0f];
        [cellmanager.likeView   setAlpha:0.0f];
    } completion:^(BOOL finished){
        NSLog(@"Menu show");
    }];
}

3 个答案:

答案 0 :(得分:0)

您正在将第一个动画的持续时间设置为0.0f。这就是动画无法运作的原因。请尝试更大的值。

答案 1 :(得分:0)

这是因为持续时间为0,这意味着动画将是即时的,您需要将其更改为另一个(正)值才能看到动画。

答案 2 :(得分:0)

当隐藏菜单设置持续时间= 0.0f时,你有错误:D