Intereting Posts
Как получить ссылку на Google Карты из текущего местоположения? Xcode для успешного запуска расширения Попытка получить push-уведомления с использованием Parse.com, не работающего на устройстве IOS 6 CalloutView с TableView больше не работает Плагин 'org.apache.cordova.barcodeScanner' не найден для плагина сканера ios Barcode в Кордове 2.0 почему размер объекта, унаследованного от NSObject, составляет 16 байт Могу ли я установить точки останова на действие EarlGrey? Предупреждение памяти при попытке слияния нескольких видеофайлов в быстром Установка UIImageView.image, привязанная объектом UIImageView.bnd_image к наблюдаемому объекту <UIImage>, не наблюдается Альтернативы Pieceable UIViewAnimationTransitionCurlUp работает горизонтально Быстрая 2.0 внезапная ошибка: неожиданно найден nil при развертывании необязательного значения (lldb) масштабирование SCNNode во время выполнения с помощью жесты панорамирования Параграф Pagination loadNextPage Вторая страница загружается дважды IOS HockeyApp всегда всплывающее обновление alertview

UIViews и CGAffineTransformMakeScale

Я немного запутался. Предположим, у меня есть UIView именем myView , и у нас есть следующий блок кода:

 [myView setTransform:CGAffineTransformMakeScale(2.0f, 2.0f)]; [myView setTransform:CGAffineTransformMakeScale(0.5f, 0.5f)]; 

Теперь, если бы я посмотрел на этот код, я бы предположил, что это оставит размер UIView неизменным. Однако, это фактически делает его половину своего первоначального размера! Кажется, UIViews имеют своего рода «память» о том, каков их первоначальный размер. Это верно? Это также кажется очень странным выбором, который сделал Apple, и я надеялся, что кто-то сможет рассказать мне о том, что происходит и почему так оно и есть.

Благодаря!

    UIView frame UIView является его ограничивающий прямоугольник в координатном пространстве его superview .

    Свойство bounds , с другой стороны, является ограничивающим прямоугольником в собственном пространстве координат представления.

    Таким образом, уменьшение вдвое размера представления будет видно в его frame.size (потому что его размер уменьшается вдвое по bounds.size его bounds.size ), но не в его bounds.size (поскольку сам вид по-прежнему имеет одинаковый размер).