Frame vs Bounds



🟢 lvl: jun



Одна из баз базовых на сессиях по UIKit, но почему-то многие часто валятся



🖼 Frame — расположение и размер view с использованием системы координат родительского представления (важно для размещения представления в superview).



Чаще говоря про фрейм вспоминают стену и рамку картину. Стена — это супервьюха, а рамка — это вью



🟩 Bounds — местоположение и размер представления с использованием его собственной системы координат (важно для размещения содержимого View или subview внутри него)



Когда использовать frame и когда использовать bounds.

Поскольку frame связывает местоположение view в superview, используйте его при внесении внешних изменений: ширины или вычисления расстояния между view и вериной его родительского view.



Используйте bounds для внутренних изменений: рисования или организации subview в пределах view. Также используйте bounds для получения размера view, если вы сделали какие-то преобразование для него.



Частый вопрос "А когда у нас может поменяться bounds?". Ответ — в ScrollView. На изменении своих координат строится вся модель скроллинга



#lvl_jun