Как сделать сглаживание на повернутом UIView (НЕ UIImageView) - PullRequest
8 голосов
/ 12 октября 2011

Моя проблема в основном такая же, как эта .У меня есть UIView, и когда я поворачиваю его, используя CGAffineTransformMakeRotation, края не сглаживаются.

Я попытался добавить представление как подпредставление в более крупном UIView и использовать прозрачную границу для представления, но ни один из них не сработал.

ОП вышеупомянутого поста решил эту проблему, создавизображение с прозрачными границами в фотошопе и использование вместо этого UIImageView, но я не могу сделать то же самое, потому что размер UIView определяется во время выполнения.что это не дубликат этой публикации, потому что я заинтересован в использовании UIView, а не UIImageView.

Ответы [ 2 ]

20 голосов
/ 09 февраля 2012

Попробуйте установить UIViewEdgeAntialiasing = YES в вашем app-info.plist

0 голосов
/ 25 октября 2011

Я решил эту проблему, создав изображение 3x3 px в фотошопе.Центральный пиксель изображения имеет цвет, который я хотел, чтобы фон имел, а остальные пиксели были прозрачными.Затем я смог использовать экземпляр UIImageView и определить размер кадра во время выполнения с помощью -stretchableImageWithLeftCapWidth: topCapHeight: method.

Это решение, конечно, все еще не работает для UIViews, но таким образом вы можетеобойти проблему «переменного размера» и использовать вместо этого UIImageView.

...