Приложение для iPhone - комбинация UINavigationController и UITabBarController - PullRequest
2 голосов
/ 19 июля 2010

Я хочу сделать приложение для входа в систему со сложными представлениями.

Потребность в потоках, как показано ниже:

Login Page --> Menu Page --> Detail Page with Tab Control. --> Navigation Page

Здесь «Страница сведений» снова представляет собой комбинацию двух видов. Вид навигации и вид вкладок.

т.е. «Страница сведений» будет иметь элемент навигации (панель навигации) сверху, а остальная часть элемента управления будет элементом управления вкладками, чтобы пользователь мог переключаться между вкладками в любой точке. Если пользователь нажимает «Далее» на навигационном элементе управления, он переходит на новую страницу и может снова вернуться к «Представлению вкладок», нажав кнопку со следующей страницы.

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

В настоящее время я разработал базовое приложение Window, как показано ниже.

  1. Главный контроллер (MainSwitcherViewController), который инициализируется делегатом.
  2. Этот главный контроллер имеет ссылку на несколько других UIViewsController

    Например:

    • LoginViewController, который является UIViewController.
    • MenuViewController, который является UIViewController.
  3. Изначально я показываю LoginViewController.

  4. При успешном входе в систему я показываю MenuViewController.
  5. И из MenuViewController для любого действия (выбор меню - в настоящее время добавлен как UIButton) я открываю НОВЫЙ вид, но вместо нового вида (UIViewController) я хочу перейти в навигационный вид и вид комбинации вкладок, как описано выше .

Вот мой вопрос:

  1. Является ли мой подход к проектированию экрана / представлений правильным или мне нужен другой подход?
  2. Как переключаться между UIViewController или TabViewController или NavigationViewController?
  3. Как создать комбинированный контроллер с навигационным элементом управления сверху и снизу TabBarViewControl таким образом, чтобы для каждой вкладки отображался навигационный элемент управления (общий доступ).

Я новичок в разработке приложений для iPhone,

Пожалуйста, дайте мне несколько указателей или ссылок, имеющих похожие примеры.

Заранее спасибо.

1 Ответ

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

Хорошо, сначала ваш подход в порядке.Вы можете иметь UITabBarController в том же классе, что и UINavigationController.Просто создайте контроллер панели вкладок и в том же классе также создайте контроллер навигации.Пользователь сможет использовать оба из этого представления.

Для этого в классе с панелью вкладок:

UITabBarController *mainTabBar = [[UITabBarController alloc] init];

Затем добавьте виды в этот контроллер панели вкладок.,В одном из этих UIViewController добавьте контроллер навигации:

UIViewController *mainViewController = [[MainViewController alloc] init];
mainViewController.title = @"Welcome";
UINavigationController *mainViewNavController = [[UINavigationController alloc] init];
[mainViewNavController pushViewController:mainViewController animated:NO];

, затем просто добавьте панель вкладок в представление вместе с новыми представлениями:

mainTabBar.viewControllers = [NSArray mainViewNavController, nil];

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

Надеюсь, это поможет, если нет, я буду рад что-нибудь прояснить.

...