CGAffineTransformation установить привязку? - PullRequest
1 голос
/ 31 мая 2011

Мне интересно кое о чем.В моем приложении я запускаю анимацию, в которой размер представления немного изменяется.Я создаю преобразование следующим образом:

CGAffineTransform resize = CGAffineTransformMakeScale(0.8, 0.8);

Однако, когда я применяю это преобразование к своему виду и наблюдаю за его выполнением, оно изменяет размеры сверху и сжимается вниз.То, что я хочу, - это когда он изменяет размер равномерно со всех сторон и сжимается к центру, как будто точка «якоря» находится в центре.Ты знаешь, о чем я говорю?Возможно ли это?

Ответы [ 2 ]

4 голосов
/ 31 мая 2011

Сначала добавьте платформу Quartz в свой проект и импортируйте заголовок Quartz

#import <QuartzCore/QuartzCore.h>

Затем вы можете установить опорную точку вашего представления следующим образом:

myView.layer.anchorPoint = CGPointMake(0, 0);

Точки AnchorPoint являются значениямиот 0 до 1. 0,0 - верхний левый угол на iPhone.

1 голос
/ 31 мая 2011

Сначала примените CGAffineTransformMakeTranslation, чтобы переместить начало координат в центр - объедините их в одно преобразование с CGAffineTransformConcat

...