2014-01-26 2 views
0

Моей проблемы:Как не масштабировать CATextLayers при масштабировании супер слоя

У меня есть CAShapeLayer имя outCircle. Я добавляю CATextLayers в качестве подслоев outCircle. Проблема в том, что когда я зажимаю outCircle и делаю это так, подслой CATextLayers тоже изменит размер (возможно, очевиден) и станет размытым, а не четким. Текст выглядит ужасно!

So Я хочу сохранить исходный размер и (возможно) положение текстовых слоев, но сохраняя их подслоями outCircle.

  • Возможно ли это?
  • Как я могу это сделать?

Одним из решений является не сделать CATextLayers подслоям outCircle, но по разным причинам, мне нужно это сделать. Спасибо за помощь в совете!

ответ

3

попробуйте установить значение обратного масштаба в textLayers. i.e если вы установите масштаб .5 в shapeLayer, установите (1/.5 = 2) как scale to textLayers.

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

Примечания: вы не можете держать подслой немасштабированным при масштабировании супер так обратное масштабирование звучит как хороший вариант –

+0

обратной 0,5 составляет 2,0, а не 1,5 –

+0

@BartoszCiechanowski спасибо, сделал поправку. – santhu

 Смежные вопросы

  • Нет связанных вопросов^_^