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

UIView против UIViewController

Хорошо, поэтому я совершенно новый для разработки iphone, и я получил довольно далеко за свои знания. Мне просто нужна помощь, чтобы решить, как программировать эти 4-6 фотографий в моем проекте.

Я в основном хочу создать комикс, в котором пользователь сможет пронестись с одной картинки на другую. Должны ли все эти изображения находиться в UIVIEW или UIViewController?

и любые советы по подключению этих изображений, чтобы я мог добавить код для прикосновения, было бы замечательно!

4b9b3361

Ответ 1

A UIViewController не может отображать ничего; он просто координирует отображение UIView. Таким образом, фактические снимки должны быть сделаны в UIView. Кроме того, ваш UIView отвечает за распознавание прикосновений, жестов и т.д. То, что он заканчивается, однако; фактическая реакция вашей программы должна быть до UIViewController.

Другими словами, вы должны обучить подклассу UIView, как распознать салфетки влево или вправо, и как только он решил, что это произошло, он уведомит ваш подкласс UIViewController этого события. Затем контроллер определит, какая картинка будет отображаться дальше, и сообщите, что представление настроено.

Это часть шаблона Model-View-Controller. Это хорошо известный и широко используемый шаблон в разработке iPhone, поэтому вам будет хорошо читать его.

Ответ 2

Вы будете использовать оба. Cocoa Разработка Touch следует методологии MVC (Model, View, Controller). Это способ разделения логики кода и элементов пользовательского интерфейса. UIView - это то, где вы обрабатываете то, на что это похоже, UIViewController - это класс, в котором вы обрабатываете события. Если вам нужен самый простой способ прокрутки на нескольких страницах контента, загляните в UIPageControl.

Ответ 3

Изображения должны быть добавлены (через addSubview) к объекту UIView или объекту подкласса из UIView, например UIControl, UIScrollView и т.д.

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

Вы захотите подклассифицировать UIViewController. Он будет управлять вашим поведением и будет (как правило) лучшим местом для компоновки представления, которое он контролирует.

UIPageControl, вероятно, самый простой способ реализовать поведение swiping, но это может быть сложно - внимательно прочитайте документацию.