Ответ 1
Класс UIView определяет прямоугольную область на экране и интерфейсы для управления контентом в этой области. Во время выполнения объект представления обрабатывает рендеринг любого контента в его районе а также обрабатывает любые взаимодействия с это содержание. Сам класс UIView обеспечивает базовое поведение для заполнения его прямоугольная область с фоном цвет. Более сложный контент может представлять подклассы UIView и реализации необходимого чертежа и код обработки событий самостоятельно. Рамка UIKit также включает в себя набор стандартные подклассы, которые вы можете использовать, от простых кнопок до сложных столы. Например, объект UILabel рисует текстовую строку и UIImageView объект рисует изображение.
Поскольку ваше приложение взаимодействует с пользователем в основном через представление объекты, эти объекты имеют число ответственности. Вот только некоторые из них:
Рисование и анимация содержимого в прямоугольной области, используя такие технологии, как UIKit, Core Графики и OpenGL ES. Некоторая точка зрения свойства могут быть анимированы для новых значения. Управление макетами и подзаголовками Представление может содержать ноль или более подвиды. Каждое представление определяет поведение изменения размера по умолчанию в отношении к его родительскому представлению. Вид может вручную измените размер и положение его подсмотров по мере необходимости. Мероприятие Обращение является ответчиком и может обрабатывать события касания и другие события определяемый классом UIResponder. view можно использовать addGestureRecognizer: метод установки распознавателей жестов для обработки обычных жестов.
Класс UIViewController обеспечивает основная модель управления представлением для приложений iPhone. Основа класс контроллера класса поддерживает представление связанного представления, поддержка управления модальными представлениями и поддержка поворота взглядов в ответ к изменениям ориентации устройства. Подклассы, такие как UINavigationController и UITabBarController предоставляет дополнительные поведение для управления сложным иерархии диспетчеров представлений и просмотров.
Вы используете каждый экземпляр UIViewController для управления представлением иерархия. Типичная иерархия представлений состоит из корневого представления - ссылки на который доступен в представлении свойство этого класса - и обычно одно или более подсмотров, представляющих фактические содержание. На iPhone и iPod touch корневой вид обычно заполняет весь экран, но на iPad это представление может заполнить только часть экрана. В обоих случаев, контроллер вида ответственный за управление всей иерархию представлений, включая все подвиды.
Контроллеры просмотра тесно связаны с взгляды, которыми они управляют, и принимают участие в цепь респондентов, используемая для обработки Мероприятия. Контроллеры просмотра сами потомки Класс UIResponder и вставлены в цепочку ответчиков между управляемый корневой вид и его супервизор, который обычно принадлежит к другому просмотрите контроллер. Если вид просмотр контроллеров не обрабатывает события, сам контроллер представления возможность обработки события перед передачей события SuperView.
Класс UIViewController работает с окно приложений для обработки изменения ориентации устройства. Если контроллер просмотра поддерживает новый ориентации (как определено возвращаемое значение shouldAutorotateToInterfaceOrientation: метод), он оживляет переход от текущей ориентации до новый. В рамках этого изменения также применяет любые правила изменения размера в эффект для взглядов в его представлении иерархия. Если вы хотите внести изменения к вашей иерархии взглядов как части изменение ориентации, вы можете переопределить методов UIViewController для внесите изменения. Для информацию о методах, необходимых для переопределить, см. "Вид обработки" Обороты ".
Контроллеры просмотра имеют фундаментальное значение для дизайн большинства iPhone Приложения. Последующие разделы предоставить основную информацию об использовании методы и свойства Класс UIViewController. Для дополнительных информация об использовании вида контроллеров для создания и управления приложений, см. View Руководство по программированию контроллера для iOS.