view и viewcontroller - PullRequest
       6

view и viewcontroller

14 голосов
/ 26 апреля 2011

Я новый разработчик приложений для iphone. Я хочу знать, в чем разница между view и viewcontroller.

Ответы [ 4 ]

11 голосов
/ 26 апреля 2011

UIView

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

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

Рисование и анимация Представление рисует контент в своей прямоугольной области, используя такие технологии, как UIKit, Core Graphics и OpenGL ES.Некоторые свойства представления могут быть анимированы для новых значений.Управление макетом и подпредставлением Представление может содержать ноль или более подпредставлений.Каждое представление определяет свое собственное поведение изменения размера по умолчанию относительно его родительского представления.Представление может вручную изменить размер и положение своих подпредставлений по мере необходимости.Обработка событий Представление является респондентом и может обрабатывать сенсорные события и другие события, определенные классом UIResponder.Представление может использовать addGestureRecognizer: метод для установки распознавателей жестов для обработки общих жестов.

UIViewController

UIViewControllerКласс обеспечивает фундаментальную модель управления представлениями для приложений iPhone.Базовый класс контроллера представления поддерживает представление связанного представления, поддержку управления модальными представлениями и поддержку вращающихся представлений в ответ на изменения ориентации устройства.Подклассы, такие как UINavigationController и UITabBarController, обеспечивают дополнительное поведение для управления сложными иерархиями контроллеров представления и представлений.

Вы используете каждый экземпляр UIViewController для управления иерархией представления.Типичная иерархия представлений состоит из корневого представления, ссылка на которое доступно в свойстве представления этого класса, и обычно одного или нескольких подпредставлений, представляющих фактическое содержимое.На iPhone и iPod touch корневой вид обычно занимает весь экран, но на iPad этот вид может занимать только часть экрана.В обоих случаях контроллер представления отвечает за управление всей иерархией представления, включая все подпредставления.

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

Класс UIViewController работает с окном приложения для обработки изменений ориентации устройства.,Если контроллер представления поддерживает новую ориентацию (как определено возвращаемым значением его shouldAutorotateToInterfaceOrientation: метод), он анимирует переход от текущей ориентации к новой.Как часть этого изменения, он также применяет любые действующие правила изменения размера для представлений в своей иерархии представлений.Если вы хотите внести изменения в вашу иерархию представления как часть изменения ориентации, вы можете переопределить методы UIViewController для реализации ваших изменений.Для получения информации о методах, которые вы должны переопределитьде, см. «Вид обработки» Обороты».

Контроллеры вида являются фундаментальными для дизайн большинства iPhone Приложения. Следующие разделы предоставить основную информацию об использовании методы и свойства UIViewController класс. Для дополнительного информация об использовании вида контроллеры для создания и управления вашим пользовательский интерфейс приложения, см. View Руководство по программированию контроллера для iOS.

7 голосов
/ 26 апреля 2011

Экземпляр UIViewController управляет иерархией UIView экземпляров.

Ознакомьтесь с шаблоном Model-View-Controller , который воплощает дизайн большинства приложений iOS.

5 голосов
/ 20 сентября 2014

ViewController - главный экран

View - компонент, который можно добавить в ViewController

0 голосов
/ 26 апреля 2011

Вы знакомы с шаблоном Model-View-Controller? Прежде чем даже начать разработку iPhone, вы должны быть знакомы с ним. Я рекомендую книгу Шаблоны дизайна какао . Поверьте мне, это поможет много в долгосрочной перспективе.

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