UIImageView "раздавлен" после CGAffineTransformMakeRotation - PullRequest
7 голосов
/ 24 августа 2011

У меня есть UIImageView, который находится внутри другого UIView.

Я вращаю UIImageView с чем-то вроде:

 object.transform=CGAffineTransformMakeRotation(angle)

Когда внешний UIView не вращается, и может использовать CGAffineTransformMakeRotation для вращенияUIImageView, и он работает должным образом.

Однако, когда внешний UIView поворачивается, и я затем поворачиваю UIImageView (ненулевой «угол» выше) - UIImageView выглядит «сжатым» или «сплющенным».

Кажется, что все хуже и хуже, когда он поворачивается под разными углами.

Почему это происходит?Изменяет ли внешний UIView матрицу преобразования, которую я затем снова изменяю, устанавливая ее Explicity?

Как я могу повернуть UIImageView внутри повернутого UIView и сделать так, чтобы он просто вращался правильно?

Ответы [ 2 ]

15 голосов
/ 24 августа 2011

Возможно, ваше UIIamgeView автоматически изменяет размер по его суперпредставлению.

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

imageView.autoresizingMask = UIViewAutoresizingNone;

или, если вы просто сделаете этоЕсли вы не хотите, чтобы iOS автоматически изменяла размер вашего imageView, но все же хотите, чтобы он автоматически устанавливал для вас позицию, вы можете позвонить:

imageView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin;

Скажите, если у вас все еще есть проблемы.

3 голосов
/ 22 июня 2012

Сглаживание - это процесс, при котором края вида смешиваются с цветами слоя под ним.Сглаживание для краев вида можно включить в масштабе всей системы, установив флаг UIViewEdgeAntialiasing в info.plist вашего приложения, но, как предупреждает документация, это может негативно повлиять на производительность (поскольку для этого требуется Core Animation для выборки пикселей из буфера рендеринга под слоемдля расчета смешивания).

Рендеринг с сглаживанием края = ДА

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...