今天在做一个显隐动画时, 发现无论怎样, 都不会产生动画。
// +号点击了, 显示-号的内容
- (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;
}];
}
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》所以正常的写法如下:通过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;
}];
}