Я был удивлен, что не нашел ответа на этот вопрос, может быть, это очень просто, я почему-то не замечаю:
Как получить реальный размер UIView после применения к нему CGAffineTransform?
например.
мой UIView имеет размер 300 x 200, я применяю масштабирующее преобразование, пусть говорят коэффициент 2 как по горизонтали, так и по вертикали, поэтому UIView теперь принимает 600 x 400 на экране, но он ограничивается, и его границы слоя все еще возвращают размер 300 x 200... где я могу найти реальный размер UIView?
пс. забыл упомянуть, что хочу также повернуть uiview. Если я применяю только масштабирование, CGSizeApplyAffineTransform отлично работает, но когда есть и вращение, то оно не работает должным образом.
Edit: drawonward указал мне в правильном направлении, я немного уточнил код для компиляции, и вот он:
UIView* view = (your view being transformed);
CGAffineTransform trans = (view.transform or create a new transformation);
CGRect rect = [view bounds];
CGMutablePathRef path = CGPathCreateMutable();
rect.origin = CGPointZero;
CGPathAddRect(path , &trans , rect);
rect = CGPathGetBoundingBox( path );
CGPathRelease( path );
Теперь rect.size содержит размеры представления с примененным преобразованием Еще раз спасибо обратившемуся