2010-05-09 7 views
0

Je rencontre un problème de mise à l'échelle simple avec CATextLayer, mais je ne pouvais pas le comprendre: Je veux que la CATextLayer augmente proportionnellement en taille avec son superlayer: si la largeur de la superlayer est de 300 La taille du texte de CATextLayer devrait être de 12 et si la largeur de la supeview est de 600, la taille du texte devrait être de 24. Je n'ai pas trouvé de solution de travail!Problème de mise à l'échelle CATextLayer simple

Pouvez-vous s'il vous plaît me donner un indice?

Merci, Julian.

Répondre

1

Vous pouvez redimensionner la taille de la police proportionnellement. Par exemple, si la largeur du superlayer passe de 300 à 600, c'est 600/300 = 2. Puis multipliez la taille de la police par 2.

0

Si vous voulez la couche à l'échelle avec sa surcouche, vous devez définir sa autoresizingMask propriété comme ceci:

myTextLayer.autoresizingMask = (kCALayerWidthSizable | kCALayerHeightSizable); 

Cependant, cela ne sera probablement pas changer la taille du texte qui est une propriété fixe de CATextLayer. Vous devrez probablement modifier la taille du texte en réponse à une modification de la taille de la couche.

0

Avait le même problème. Vous devriez -

[textLayer setContentsScale:theScaleOfSuperLayer];