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

本文讨论了在iOS和Android平台中实现视图动画的常见问题,并提供了使用alpha属性进行动画操作的方法,以避免使用hidden属性可能导致的问题。通过实例展示了如何正确地使用alpha属性来实现动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

- (void)jiaoHaoBtnClicked:(id)sender {

    [UIView animateWithDuration:0.5 animations:^{

        topView.hidden = NO;

    } completion:^(BOOL finished){

    }];

}


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

- (void)jianHaoBtnClicked:(id)sender {    

    [UIView animateWithDuration:0.5 animations:^{

        topView.hidden = YES;

    } completion:^(BOOL finished) {

    }];

}



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

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

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

- (void)jiaoHaoBtnClicked:(id)sender {

    topView.alpha = 0.0;

    topView.hidden = NO;

    

    [UIView animateWithDuration:0.5 animations:^{

        topView.alpha = 1.0;

    } completion:^(BOOL finished){

        topView.hidden = NO;

    }];

}


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

- (void)jianHaoBtnClicked:(id)sender {

    topView.alpha = 1.0;

    topView.hidden = NO;

    

    [UIView animateWithDuration:0.5 animations:^{

        topView.alpha = 0.0;

    } completion:^(BOOL finished) {

        topView.hidden = YES;

    }];

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值