Масштабировать UIView без масштабирования подвидов

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

Однако я не хочу, чтобы масштабирование происходило одновременно. Для некоторых подпредставлений я хочу, чтобы это происходило только по вертикали или по горизонтали или вообще без масштабирования.

Есть ли способ управлять автоматическим масштабированием в подпредставлениях UIView при использовании CGAffineTransform в UIView?


person jglievano    schedule 09.07.2011    source источник


Ответы (2)


Если вы убедитесь, что autoresizingMask подпредставлений настроен правильно, вы можете изменить фрейм контейнера UIView (он анимируется), и подпредставления не изменят размер (если ваша маска изменения размера верна). Отключение containerView.autoresizesSubviews и изменение фрейма также должно работать.

person Benjamin Mayo    schedule 10.07.2011

Установите для представления autoresizesSubviews значение NO, по умолчанию это YES.

person Espresso    schedule 09.07.2011
comment
Я пробовал это, я также пытался установить autoresizingMask с различными конфигурациями, и ничего не изменилось. Я попытался изменить autoresizesSubviews и autoresizingMask на родительский UIView и/или его подвиды и все его конфигурации, ничего не меняется. То, что я делаю прямо сейчас (что на самом деле работает), заключается в том, что когда он применяет CGAFfineTransform к родительскому UIView, я мгновенно обращаю масштабирование в его подпредставления. Я просто не считаю это подходящим способом, я думаю, что мне чего-то не хватает с autoresizesSubviews или autoresizingMask. - person jglievano; 09.07.2011