2

У меня есть небольшое диалоговое окно пользовательского интерфейса (UIView), которое я покажу в какой-то момент (на самом деле это всплывающее окно над mapkit-картой. В этом диалоговом окне я хочу иметь панель навигации наверху, чтобы позволить пользователю пройти пункт различные данные (так Спинка/Следующий набор кнопок на панели навигации)Как реализовать панель навигации для всплывающего диалогового окна в IOS?

Вопрос:. должен ли я выглядеть, чтобы попытаться использовать в IOS UINavigationBar и/или UINavigationController и т.д., чтобы построить этот маленький всплывающее или надо? Я просто создаю это в XCode вручную (например, нарисуйте навигационную панель и поместите в нее обычные кнопки). [Также, если вы можете сообщить мне, почему ваш ответ так я могу узнать].

Фон: на данный момент я есть диалоговое окно XIB в XCode, которое я имеют размер установлен в «свободной форме», а затем я создаю экземпляр этого с помощью:

calloutView = NSBundle.mainBundle().loadNibNamed("GCCallout", owner: self, options: nil).first as! GCCallout 
+0

Я бы сказал, просто сделайте контроллер корневого представления всплывающего окна навигатором. Это экономит не только время, но и у вас уже есть все, что вам нужно, так что вам будет легче. – user2277872

+0

Это контроллер корневого представления всплывающего окна, который вы имеете в виду? т.е. просто хочу понять ваше предложение с точки зрения основного контроллера просмотра, который у меня есть, на котором размещена карта MapKit, в отличие от UIView I, хотя вверх (тот, о котором идет речь) при нажатии на вывод карты? – Greg

+0

Когда вы нажимаете контакт, вы должны загрузить новый uiview, который содержит контроллер навигации, чтобы его было легче манипулировать. Вы также можете попробовать iTunes U и искать классы разработки iOS 8/9. Обычно они закрывают выполнение картографических приложений. – user2277872

ответ

2

Я бы сказал, это зависит от ваших требований диалогового окна

Вы упомянули, что вам нужно вернуться и следующая кнопка в панели навигации , как я понимаю, вы просто хотите манипулировать данными в диалоговом окне или выполнять некоторые операции с ним.

Если вы хотите серии контроллеров отображения диалогового окна внутри, толкая друг за другом, то только во время навигации контроллера будет хорошо использовать в диалоговом окне

В противном случае, используя его просто для панели навигации будет излишним.

UINavigationControlker - это контейнерный контроллер и оптимизирован для хранения контроллеров представлений в стеке и их всплывания.

Я предлагаю, перейдите для пользовательского UIView из xib или если в диалоговом окне есть много кода для обработки, чем, реализуйте свое диалоговое окно в контроллере вида и добавьте его в качестве контроллера детского вида.

+0

Я тоже приступаю к такому выводу - как насчет просто повторного использования элементов пользовательского интерфейса в Xcode в моем настраиваемом диалоговом окне вверху? Любой способ использования таких элементов, как «элемент навигации», «элемент« кнопка »,« элемент панели вкладок », элемент кнопки« фиксированный пробел »? – Greg

+0

Да, просто добавьте UIToolbar поверх своего диалогового окна, а затем вы можете просто перетащить все элементы UIBarButton внутри него. –

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