UIView - это класс в структуре UIKit iOS, определяющий прямоугольную область на экране и интерфейсы для управления контентом в этой области. Все элементы пользовательского интерфейса являются подклассами UIView или содержатся в UIView.

Класс UIView определяет прямоугольную область на экране и интерфейсы для управления контентом в этой области. Во время выполнения объект представления обрабатывает рендеринг любого контента в своей области, а также обрабатывает любые взаимодействия с этим контентом. Сам класс UIView обеспечивает базовое поведение для заполнения его прямоугольной области цветом фона. Более сложный контент можно представить, создав подкласс UIView и самостоятельно внедрив необходимый код для рисования и обработки событий. Инфраструктура UIKit также включает в себя набор стандартных подклассов, которые варьируются от простых кнопок до сложных таблиц и могут использоваться как есть. Например, объект UILabel рисует текстовую строку, а объект UIImageView рисует изображение.

Поскольку объекты просмотра являются основным способом взаимодействия вашего приложения с пользователем, у них есть ряд обязанностей. Вот лишь некоторые из них:

Рисование и анимация

  • Представления рисуют контент в своей прямоугольной области, используя такие технологии, как UIKit ], Core Graphics и OpenGL ES .

  • Некоторые свойства представления могут быть анимированы для новых значений.

Управление макетом и подпредставлением

  • Представление может содержать ноль или более подпредставлений.

  • Каждое представление определяет свое поведение изменения размера по умолчанию по отношению к своему родительскому представлению.

  • Представление может определять размер и положение своих подпредставлений по мере необходимости.

Обработка событий

  • Представление является ответчиком и может обрабатывать события касания и другие события, определенные классом UIResponder .
  • Представления могут использовать метод addGestureRecognizer: для установки распознавателей жестов для обработки общих жестов.

Представления могут встраивать другие представления и создавать сложные визуальные иерархии. Это создает отношения родитель-потомок между внедряемым представлением (известным как подпредставление) и родительским представлением, выполняющим внедрение (известное как суперпредставление). Обычно видимая область подпредставления не обрезается до границ его суперпредставления, но в iOS вы можете использовать свойство clipsToBounds , чтобы изменить это поведение. Родительское представление может содержать любое количество подпредставлений, но каждое подпредставление имеет только одно суперпредставление, которое отвечает за правильное позиционирование своих подпредставлений.

Геометрия вида определяется его рамками , границами и центральными свойствами. Рамка определяет начало и размеры представления в системе координат его суперпредставления и обычно используется во время компоновки для настройки размера или положения представления. Свойство center можно использовать для регулировки положения вида без изменения его размера. Границы определяют внутренние размеры представления так, как оно их видит, и используются почти исключительно в пользовательском коде чертежа. Часть размера прямоугольника рамки и границ соединена вместе, поэтому изменение размера любого прямоугольника обновляет размер обоих.

Для получения подробной информации о том, как использовать класс UIView, см. Просмотреть руководство по программированию для iOS .

Создание представления

Чтобы создать представление программно, вы можете использовать код, подобный следующему:

CGRect viewRect = CGRectMake(10, 10, 100, 100); UIView* myView = [[UIView alloc] initWithFrame:viewRect]; 

Эквивалент в Swift:

let viewRect = CGRectMake(10, 10, 100, 100) let myView = UIView(frame: viewRect)