下面的代码展示了一个标签的动画,该标签包含用户的状态信息。如果发生某个事件,标签会显示提示,然后通过UIView动画块缓慢消失。
如果第一个事件后的5秒内有另一个事件,则标签应该重新进行动画,因此我使用
如果我(或用户)等待5秒,一切都可以正常工作。
为什么没有效果?
此致, $h@rky
- (void)showStatusOnLabelWithString:(NSString *)statusMessage
{
// [self.view.layer removeAllAnimations]; // not working
[labelStatus.layer removeAllAnimations]; // not working, too
[labelStatus setText:statusMessage];
[labelStatus setHidden:NO];
[labelStatus setAlpha:1.0];
[UIView animateWithDuration:5.0 animations:^
{
[labelStatus setAlpha:0.0];
} completion:^(BOOL finished)
{
[labelStatus setHidden:YES];
[labelStatus setAlpha:1.0];
}];
}
如果第一个事件后的5秒内有另一个事件,则标签应该重新进行动画,因此我使用
[self.view.layer removeAllAnimations]
删除了先前的动画(我认为是这样)。但是标签完全消失了,接下来的5秒中标签再次变得不可见。如果我(或用户)等待5秒,一切都可以正常工作。
为什么没有效果?
此致, $h@rky