Intereting Posts
Как я могу тестировать навигационное приложение iOS в симуляторе или телефоне? React Native ScrollView не работает в iOS Копировать базовую базу данных данных между двумя iphone Исключить пользовательский слайдер из задержекContentTouches прокрутки iOS универсальный раскадровка iPhone iPad Рефакторинг быстрого кода Ошибка приложения при доступе к TableViewCell в методе делегата heightForRowAtIndexPath Какой самый надежный способ использования API. интеграции / загрузки SDK в ваше приложение или использования метода URL-HTTP-GET Предоставляет ли iOS 7 возможность установить значение plist для отображаемого имени пакета для VoiceOver? Phonegap – изображения не будут отображаться после обновления пакета, когда iCloud включен Как мы используем библиотеку LTBouncytextfield в iOS? ObjC: ARC слишком рано запускает динамически созданный контроллер представлений AVFileCaptureOutput: не запись со скоростью 240 кадров в секунду Интерактивный UIView за UITableView UImapview: использование lat и lon как вычислять скорость в obj c

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 (поскольку сам вид по-прежнему имеет одинаковый размер).