Junior
105
questionbank

В чём отличие между frame и bounds в iOS?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • frame — прямоугольник представления относительно его суперпредставления или координатной системы родителя. Он определяет позицию (origin) и размер (size) представления в координатах родителя.
  • bounds — прямоугольник представления относительно его самого. Он определяет позицию (origin) и размер (size) представления в его собственной координатной системе. По умолчанию origin для bounds (то есть точка (0,0) в собственной системе координат представления) совпадает с верхним левым углом представления. Изменение bounds.origin приводит к скроллингу содержимого представления без изменения положения самого представления в родительском представлении.

Основные отличия:

СвойствоКоординатная системаИзменение Size влияет наИзменение Origin влияет на
frameСуперпредставленияРазмер представленияПоложение представления относительно суперпредставления
boundsСобственная система представленияРазмер представления (самого)Скроллинг содержимого представления относительно его границ

Пример:

  • Установка frame.origin изменяет положение представления на экране.
  • Установка bounds.origin сдвигает содержимое представления внутри него.
swift