2014-02-06 4 views
0

Я хотел бы реализовать верхнюю панель меню в приложении iOS. Я хочу, чтобы он отображался в каждом представлении контроллера. Каков наилучший подход, помимо использования панели контроллера навигации?Фиксированная верхняя панель меню

+0

Если вы хотите его в каждом контроллере просмотра, вы должны использовать контроллер таблеток, а не верхнюю панель меню. – Ajay

ответ

1

Есть встроенные функции для iOS, которые позволяют вам иметь пользовательский интерфейс для многих контроллеров. В настоящее время UITabBarController и UISplitViewController содержат представления внизу или слева и сохраняются среди других контроллеров представлений, которые связаны с отображением. UINavigationcontroller имеет вид сверху. Если вы хотите что-то другое, тогда нет стандартного метода iOS, но здесь есть 3 варианта.

  1. Создайте класс контроллера мастер-класса, который наследует весь класс от этого класса. Имейте то, что вы хотели бы сохранить, воссозданный с помощью синглета и добавленный в качестве подзаголовка при распределении мастер-класса.
  2. Верхняя панель может быть добавлена ​​в качестве подсмотра в UINavigationController. Подгруппа uinavigationcontroller и вы можете сделать [self.view addSubview:view].
  3. Или добавьте ui в окно приложения. Это можно сделать в любом месте через вне приложения все что вам нужно сделать, это UIWindow* keyWindow = [[UIApplication sharedApplication] keyWindow]; [keyWindow addSubview:view];

Я предлагаю идти с вариантом 2, вариант 1 является слишком утомительным для чего-то такого простого и варианта 3 будет сохраняться путем из всей совокупности приложение, опция 2 связывает представление, которое вы добавляете с помощью UINavigationController, поэтому затрагивается только контроллер вида в контроллере навигации, например, если вы удалите навигационный контроллер, контент будет с ним связан.

+0

очень полезно. Благодарю. –

Смежные вопросы