2011-12-05 2 views
1

AV Foundation을 사용하여 비디오에 타임 스탬프를 넣을 수 있도록 CATextLayer의 문자열 속성에 애니메이션을 적용하려고합니다. 누구든지 이것을 애니메이션 화하는 방법을 알고 있으므로 매초마다 문자열 값을 변경할 수 있습니까 ??CATextLayer 문자열 속성에 애니메이션 적용

답변

2
NSString *labelText = @"foobar"; 
[textLayer setString:labelText]; 

이 주 스레드에서 실행해야합니다, 그래서이 사용

NSString *labelText = @"foobar"; 
[textLayer performSelector:@selector(setString:) withObject:labelText waitUntilDone:YES]; 

그리고 자주 업데이트하는 경우, 당신은 텍스트의 변화 사이의 애니메이션을 해제해야합니다 :

NSString *labelText = @"foobar";  
[CATransaction begin]; 
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; 
[textLayer performSelector:@selector(setString:) withObject:labelText waitUntilDone:YES]; 
[CATransaction commit]; 
+0

고마워,하지만이게 도움이 될 것 같지 않아. 내가하려는 일은 동영상에 시간 기록을 추가하는 것 (예 : 날짜 및 시간이 기록 된 인기도있는 동영상)을 내 비디오와 함께 CATextLayer를 .mov 파일로 내보내는 것입니다. 그래서 나는 정말로 비디오 나 CATextLayer를 화면에 재생하지 않습니다. 내가 찾고있는 것은 내 비디오 구성 내보내기를 할 때 내 비디오와 함께 CATextLayer의 문자열 값을 동기화 할 수있는 무언가입니다. CATStringLayer에 추가 할 수있는 CAKeyframeAnimation과 비슷합니다 (그러나 설정 방법은 확실하지 않습니다. 또는 그것이 내 문제를 해결할 수 있다면 ..) 고마워! –