아래 코드는 사용자의 상태 메시지가 포함 된 레이블의 애니메이션을 보여줍니다. 이벤트가 발생하면 레이블은 프롬프트를 표시하고 애니메이션 애니메이션 블록을 통해 서서히 사라집니다.UIView 애니메이션 블록 취소
- (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 초를 기다리면 모든 것이 제대로 작동합니다.
왜 작동하지 않습니까?
종류 안부, $ 시간 @의 rky
위대한 작품. 완성 된 변수에 대해 새로운 것을 배웠습니다. ^^ – Sharky