2009-11-16 3 views
0

Я начинающий разработчик iphone, и делаю все возможное, но у меня есть запрос относительно UINavigationController.UINavigationController - это необходимо?

У меня есть приложение панели вкладок с 3 вкладками.

  • Закладка первого пять UIButtons, каждая выгрузку «раздел» другое из приложения, и каждая секция будет иметь целый ряд мнений.

  • На других вкладках просто отображается информация.

  • как пользователи выбирают любую из UIButtons на моей первой вкладке, я использую [self.view addSubview: xxxxx];

и поскольку пользователи отходят от этого представления, я использую [self.view removeFromSuperview];

Мой вопрос:

Является ли это плохой способ делать вещи? должен ли я использовать контроллер навигации? Причина, по которой я не использовал ее, заключается в том, что мне нужен пользовательский пользовательский интерфейс, и я понимаю, что контроллер навигации немного заставляет ваш дизайн.

И, кроме того, я буду использовать основные данные для реализации постоянного хранилища .... будет ли мой способ реализации этого приложения вызвать проблему с основными данными?

Любая помощь относительно thsi была бы высоко оценена.

Приветствия

Том

ответ

1

Как вы сказали: при нажатии одной из пяти кнопок пользователи переходят к другому виду, и пять кнопок исчезают. Это то, на что сконфигурирован контроллер навигации и помогает вам лучше управлять памятью, чем просто добавлять и удалять представления (в зависимости от того, сколько просмотров добавлено/удалено, это может быть также лучше при работе). Как указывает Оле, NavigationController очень настраиваемый и не навязывает много.

A NavigationController дает вам большую гибкость в будущем: скажем, вы хотите добавить еще один уровень иерархии после того, как одна из кнопок была использована в версии 2.0. Затем вы обнаружите, что ваш MainView будет расти по мере добавления к нему просмотров. UINavigationController хорошо структурирует ваш код и позволяет расширить навигацию позже.

CoreData очень гибкий и независимый от пользовательского интерфейса. Тебе не стоит беспокоиться об этом.

+0

Спасибо за ответ, это помогло мне понять необходимость контроллера навигации и последствия для основных данных! –

2

Во-первых, если вам не нужен навигационный контроллер, то не используйте его. Вы не должны чувствовать себя плохо. Тем не менее, я думаю, что UINavigationController не накладывает на вас определенный пользовательский интерфейс. Скрыть панель навигации очень легко и реализовать любой пользовательский интерфейс, который вам нравится. То, что UINavigationController накладывает, является модульным дизайном: каждый вид управляется отдельным контроллером представления и занимает весь экран. Только вы можете ответить, подходит ли этот проект для вашего приложения. Если это так, и если ваше приложение спроектировано вокруг иерархии представлений, вероятно, это правильный выбор.

+0

Благодарим вас за ввод, очень полезно! –