2014-01-26 5 views
0

내 문제는 다음과 같습니다 슈퍼 레이어를 확장 할 때 CATextLayers를 확장하지하는 방법

가 나는 CAShapeLayer 이름 outCircle 있습니다. 하위 레이어로 CATextLayers을 추가합니다 ( outCircle). 문제는 내가 outCircle을 집어 넣을 때 크기를 조절할 때 하위 레이어 CATextLayers의 크기가 너무 커서 (분명히 알 수 있음) 흐릿하고 선명하지 않게되는 것입니다. 텍스트가 끔찍해 보입니다!

그래서 텍스트 레이어의 원래 크기와 (어쩌면) 위치를 유지하면서 하위 레이어를 계속 유지하려는 경우 outCircle입니다.

  • 가능합니까?
  • 어떻게하면됩니까?

하나의 해결책은 outCircleCATextLayers 서브 레이어을하지 않는 것입니다하지만 여러 가지 이유로 나는 그것을 할 필요가있다. 조언에 도움을 주셔서 감사합니다!

답변

3

inverse-scale 값을 textLayers로 설정해보십시오. scale을 .5로 설정하면 shapeLayer에 (1/.5 = 2)를 scale로 설정합니다.

shapeLayer.affineTransform =CGAffineTransformMakeScale(.5, .5); 
textLayer.affineTransform =CGAffineTransformMakeScale(2, 2); 
+0

참고 : 당신이 슈퍼 확장 할 때의 스케일 없음의 하위 레이어를 유지할 수 있도록 역 스케일링 0.5 좋은 옵션 –

+0

역 같은 소리하면 2.0가 아닌 1.5 –

+0

@BartoszCiechanowski의 덕분에, 보정을했다. – santhu