<iOS>隐显动画效果一点小说明

来源:互联网 发布:二十八间原创商铺 知乎 编辑:程序博客网 时间:2024/05/18 22:47

今天在做一个显隐动画时, 发现无论怎样, 都不会产生动画。

// +号点击了, 显示-号的内容

- (void)jiaoHaoBtnClicked:(id)sender {

    [UIViewanimateWithDuration:0.5animations:^{

        topView.hidden = NO;

    } completion:^(BOOL finished){

    }];

}


// - 号点击了,直接隐藏上面的视图即可

- (void)jianHaoBtnClicked:(id)sender {    

    [UIViewanimateWithDuration:0.5animations:^{

        topView.hidden = YES;

    } completion:^(BOOL finished) {

    }];

}



》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》所以正常的写法如下:通过alpha来产生动画,同时为了不影响当前界面上后面控件,所以同时使用动画结束的completion来使hidden=YES来彻底隐去上面这个控件

正常的写法, 应该借用alpha来做动画, 而不能使用hidden制作动画

// +号点击了, 显示-号的内容

- (void)jiaoHaoBtnClicked:(id)sender {

    topView.alpha = 0.0;

    topView.hidden = NO;

    

    [UIViewanimateWithDuration:0.5animations:^{

        topView.alpha = 1.0;

    } completion:^(BOOL finished){

        topView.hidden = NO;

    }];

}


// - 号点击了,直接隐藏上面的视图即可

- (void)jianHaoBtnClicked:(id)sender {

    topView.alpha = 1.0;

    topView.hidden = NO;

    

    [UIViewanimateWithDuration:0.5animations:^{

        topView.alpha = 0.0;

    } completion:^(BOOL finished) {

        topView.hidden = YES;

    }];

}




原创粉丝点击