У меня есть правильное понимание рамок и границ в UIKit? - PullRequest
33 голосов
/ 20 апреля 2009

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

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

Коротко:

  • прямоугольник кадра - для позиционирования UIView относительно его суперпредставления
  • ограничивает прямоугольник, чтобы установить область рисования UIView

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

Ответы [ 5 ]

38 голосов
/ 20 апреля 2009

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

9 голосов
/ 19 марта 2010

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

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

4 голосов
/ 20 апреля 2009

Вы правы.

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

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

4 голосов
/ 20 апреля 2009

Да, вы правы.

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

1 голос
/ 03 сентября 2012

http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/WindowsandViews/WindowsandViews.html

Для iOS. Координата начала координат отличается от Mac OS (вверху слева, а не внизу слева)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...