Подтвердить что ты не робот

Имею ли я правильное понимание фреймов и границ в UIKit?

Позвольте мне попытаться объяснить это. Скажите, пожалуйста, если я ошибаюсь. Я всего лишь 70% уверен в этом.

Как я понимаю, UIView имеет рамку и прямоугольник границ. Задача прямоугольника рамки - установить положение UIView относительно его супервизора. Точнее: относительно системы координат надзора. Задача прямоугольника границ - установить область рисования UIView относительно собственной системы координат.

Коротко:

  • прямоугольник рамки предназначен для размещения UIView относительно его супервизора
  • bounds rectangle должен установить область рисования UIView

Есть ли ошибки или важные вещи, которые я пропустил?

4b9b3361

Ответ 1

Ознакомьтесь с руководством Apple на Просмотр геометрии. Они имеют довольно хорошие примеры того, что происходит, когда вы меняете границы и значения фрейма.

Ответ 2

Рамка представления: позиция и размер прямоугольника внутри супервизора, где будет отображаться представление.

A Bound Bound: расположение и размер прямоугольника внутри самого представления.

Ответ 3

Да, вы правы.

Когда вам нужно использовать представление, вы используете фрейм; границы используются для фактического осуществления представления. В качестве примера вам нужно использовать границы, чтобы нарисовать представление или обработать события касания. Вместо этого вы используете фрейм при создании представления или позиционировании представления в своем супервизии и т.д.

Ответ 4

Вы правы.

Вы можете использовать эти два взаимозаменяемо, хотя проще всего использовать фрейм, когда использование представления и границ проще при работе внутри представления (например, в обработке событий или чертеже)

Обратите внимание, что кадр undefined, если на представлении есть преобразование.