Ширина и высота (предположительно, вы берете это из frame.size
) должны измениться, потому что они описывают наименьший прямоугольник, который содержит весь повернутый вид - если вы поверните прямоугольник на 45 градусов, тогда прямоугольник удерживает повернутый прямоугольник шире и выше исходного прямоугольника.
«Реальный» размер вашего повернутого вида будет по-прежнему доступен в прямоугольнике bounds
- это выражается во внутренней системе координат представления, которая не повернута.
Итак, если ваш исходный frame
был оригиналом (100,100), размером (100,50), ваш повернутый вид имел бы frame
, где исходный элемент и размер были прямоугольником, который мог бы соответствовать вашему повернутому виду внутри него, описано в системе координат супервизии. Если вы сейчас сделали это:
CGFloat width = contentView.frame.size.width;
Вы получите ваше измененное значение. Однако, если вы сделали это:
CGFloat width = contentView.bounds.size.width;
Вы получите исходное значение ширины 100.