다음과 같은 애니메이션 블록을 사용하여 특정 윤곽 레이블 효과를 적용 할 수 있습니다.
두 개의 레이블이 있는데 두 개 모두 스크롤합니다. 스크롤 애니메이션이 완료되면 새 프레임을 설정하고 다시 스크롤합니다. 애니메이션이 멈추지 않습니다.UIView 애니메이션 대신 CABasicAnimation
- (void)scrollAwayWithInterval:(NSTimeInterval)interval delay:(NSTimeInterval)delay {
[UIView animateWithDuration:interval
delay:delay
options:UIViewAnimationOptionCurveLinear
animations:^{
self.label.frame = _labelDestRect;
self.subLabel.frame = _subLabelDestRect;
}
completion:^(BOOL finished) {
if (finished) {
if (self.subLabel.frame.origin.x > 0) {
[self prepareFramesForStep2];
} else {
[self prepareFramesForStep1];
}
[self scrollAwayWithInterval:interval delay:delay];
}
}];
}
나는/일시 정지 애니메이션을 다시 시작하는 방법이 필요합니다, 그래서 나는 CABasicAnimation
와 같은 애니메이션을 수행합니다.
제 질문은 CABasicAnimation
으로 다음 애니메이션을 수행하는 동일한 방법은 무엇입니까?
당신이 묻는 또는 코어 애니메이션 코드로 코드를 변환하는 우리에게 요구하고있다? ;) –
@ DavidRönnqvist 두 번째 옵션. 예를 들어, 가능하면 애니메이션의 완성 블록을 가질 수 있을지 모르겠다. – Mario