clipsToBounds с проблемами CGAffineTransformRotate - PullRequest
1 голос
/ 28 декабря 2011

У меня есть UIView с UIImageView в качестве подпредставления.Размер UIImageView всегда больше, чем UIView, поэтому я устанавливаю clipsToBounds = YES для UIView, пользователь может перетащить UIImageView.Представьте, что это фоторамка, UIView = Frame, UIImageView = Photo.

Но после того, как я использую CGAffineTransformRotate, я обнаружил, что UIView на самом деле не вращается на 100%.Как видно из скриншота, черная граница принадлежит UIView с clipsToBounds = YES, UIImageView поворачивается.Но эффект clipsToBounds не поворачивается.

Это ссылка на скриншот http://www.flickr.com/photos/66833422@N02/6585836809/

Мой вопрос: есть ли какое-либо решение, чтобы я мог повернуть эффект clipsToBounds?Я попробовал masksToBounds, и результат все тот же.

1 Ответ

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

Я просто потратил ~ 10 часов, пытаясь понять ту же проблему. Я думаю, у меня есть хакерское решение. По сути, оберните изображение в два UIViews и установите clipsToBounds = YES для обоих.

Ваша иерархия представления должна выглядеть как

UIView (дополнительный вид)

. UIView (вид контейнера изображения)

. , UIImageView

Дополнительное представление и представление контейнера изображений должны иметь одинаковый размер и clipsToBounds = YES. CGAffineTransform должен применяться к дополнительному представлению.

...