После долгих чтений и множества уроков я сейчас пытаюсь написать свое первое приложение для iPhone, но уже начинаю сталкиваться с трудностями, поэтому хочу вернуться к основам и спросить, правильно ли я понял фундаментальный дизайн пользовательского интерфейса:
- MainWindow.xib имеет TabBarController.TabBarController содержит 3 NavigationController, каждый из которых содержит подклассный UIViewController (скажем, VC1, VC2 и VC3)
Пока что это просто и охватывается многими учебными пособиями.Но теперь мое собственное мышление вступает во владение, и моя неопределенность увеличивается:
- В одном из этих трех представлений должен отображаться список данных с одним уровнем навигации (детализация) до подробного представления.
Так почему же TabBarController не содержит 2 UIViewController и 1 UITableViewController, вы можете спросить меня.Ну, потому что:
- Я также хочу позволить пользователю переключаться между двумя «типами» данных (хорошее сравнение будет «Email In» и «Email Out»)
- Пользователь также должен иметь возможность фильтровать список (например, Новый, Помеченный, Из xyz и т. Д.)
Итак, я решил, что мне нужна панель инструментов.
- Панель инструментов содержит сегментированный элемент управления, состоящий из двух частей, для переключения между типами данных и кнопкой для загрузки страницы настроек, где можно определить фильтры.
Поэтому VC2 загружает VC2.xib, который содержит следующее:
- Представление (содержащее панель инструментов)
- Подклассированный UITableViewController (для отображения данных моего списка)
Подклассированный UIViewController (для отображения настроекстр.)
Я, конечно, затем использую insertSubview , чтобы адаптировать содержимое представления в соответствии с параметрами на Панели инструментов
Все это звучит разумно или, возможно, в моем мышлении естьлучший способ удовлетворить мои потребности?
Я не хочу вдаваться в подробности о реальной проблеме, с которой я сейчас сталкиваюсь.Предполагая, что моя базовая архитектура правдоподобна, это отдельный вопрос.Для начала мне нужно знать, правильно ли мое основное мышление;)
Заранее спасибо.