UINavigationController это нужно? - PullRequest
       8

UINavigationController это нужно?

0 голосов
/ 16 ноября 2009

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

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

  • 1-я вкладка содержит пять кнопок UIB, каждая из которых загружает отдельный «раздел» приложения, и каждый раздел имеет несколько представлений.

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

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

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

Мой вопрос:

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

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

Любая помощь, касающаяся этого, будет высоко оценена.

Приветствия

Tom

Ответы [ 2 ]

2 голосов
/ 16 ноября 2009

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

1 голос
/ 16 ноября 2009

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

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

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

...