다른 색상의 문자를 다른 색으로 칠하는 복잡한 스크립트가 포함 된 교육용 앱을 만들고 있습니다. UILabel
은 문제가되지 않으므로 핵심 텍스트를 뚫어 보았고 놀랍게도 성공적으로 페인팅 글리프를 사용하고 있습니다 (CALayers
).맞춤 텍스트의 크기를 애니메이션으로 변환하는 방법은 무엇입니까?
내가 할 수 없었던 것은 내 맞춤 텍스트의 크기를 움직이는 것입니다. 기본적으로 화면 주위를 움직이는 '타일'(CALayers
) 텍스트가 있습니다. 움직이는 것은 괜찮습니다. 그러나 이제는 사용자가 누르는 것을 확대하고 싶습니다.
제 아이디어는 '전체 해상도'타일을 캐쉬 한 다음 이미지 경계의 애니메이션 동안 크기를 조정하여 그려 봅니다.
UIGraphicsBeginImageContext(CGSizeMake(50, 50));
CGContextRef context = UIGraphicsGetCurrentContext();
//do some drawing...
myTextImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
그런 다음
[CALayer drawInContext:(CGContextRef)context]
에, 내가
[myTextImage drawAtPoint:CGPointZero]
전화 : 지금까지 내가 그리 캐시 한 후 다음과 같은 방법으로 같은 타일을 다시 그리도록 노력했습니다.
앱을 실행하면 콘솔에 <Error>: CGContextDrawImage: invalid context 0x0
이 표시됩니다. 그 동안 오류가 기록 된 후에도 동일한 방법으로 context
에 텍스트를 그려 넣으면서 완벽하게 처리 할 수 있습니다.
두 가지 질문이 있습니다. (1) 왜이 기능이 작동하지 않습니까? 대신 CGBitmap
을 사용해야합니까? 더 중요 : (2) 전반적인 문제를보다 똑똑하게 해결할 수있는 방법이 있습니까? 어쩌면 내 텍스트를 경로로 저장 한 다음 어쨌든 CAAnimation
을 묶음의 범위와 다른 축척으로 그리려면 CALayer
이 변경됩니까?
'UIGraphicsPushContext (context);'와 같은 '유효하지 않은 컨텍스트 0x0'을 해결하기 위해 컨텍스트를 푸시하십시오. – Scar
@Scar ... 고마워요, 그 고정 된 문제 # (1). # (2)에 대해서는 캐시 된 CGLayer 대 UIImage를 비교하려고합니다 ... – Merk