我有一个自定义视图,我需要用动画隐藏/取消隐藏。UIView 动画不适用于隐藏属性。
所以我已经覆盖了 setHidden,我用动画修改了 alpha。
它有效,但在隐藏时似乎总是比它出现的速度慢。我给 0.3 作为持续时间,但仍然消失缓慢发生......当它出现时,它很快!
我的代码
/* Will modify alpha instead of hidden var */
-(void)setHidden:(BOOL)hidden
{
[UIView animateWithDuration:0.5 animations:^{
self.alpha = hidden?0.0:1.0;
}];
}
/* need to override this so that, .hidden returns value based on alpha as we are not modifying the hidden ivar */
-(BOOL)isHidden
{
return (self.alpha == 0.0);
}