Ответ
Свойство bounds описывает прямоугольник view в ее собственной системе координат (origin обычно (0, 0)). Его используют для операций "внутри" view.
Типичные случаи использования bounds:
- Рисование и расположение subviews: Все subviews позиционируются относительно
bounds.originсвоего супервью.// Добавить subview в левый верхний угол родителя subview.frame.origin = parentView.bounds.origin - Сдвиг внутреннего содержимого (например, в UIScrollView):
scrollView.bounds.origin.y = contentOffset // Сдвигает видимую область - Обработка касаний: Проверка, попадает ли точка в границы view.
let isInside = view.bounds.contains(touchPoint) - Работа с трансформациями (
transform):boundsостается неизменным при применении трансформации (например, вращении), в то время какframeможет стать невалидным.
Главное отличие от frame: frame определяет положение и размер view в системе координат ее родителя и зависит от bounds, center и transform.