У меня при разработке wireframes для приложения возникла проблема.
Надо: выбрать контакт для определенного действия в приложении. Необходимо иметь 3 варианта выбора контакта — «favorites» (свои, внутри приложения), выбор из адресной книге и ввод номера с клавиатуры. Варианты: выбор контакта можно сделать как модальным view, так и очередным view в navigation controller. Проблема: как реализовать выбор способа ввода номера? Tabbar? Segmented button? Спрашивать у юзера до отображения (при нажатти на Send всплывающее окно с вариантами favorites/contacts/keyboard).
Какой вариант вам кажется наиболее правильным?
Ссылки на популярные приложения с решением похожей проблемы очень приветствуются! :)
А что если сделать как в приложении «Сообщения» — поле для ввода номера телефона, рядом кнопка + или еще какая-нибудь — которая уже ведет на модальный контроллер, в котором есть segmentedcontrol (favorites,contacts).
На главном экране нет поля для ввода номера (как в сообщениях) и его некуда всавить в главный экран.
Собственно выбор контакта происходит по нажатию кнопки «Send» (решение не мое, оспорить не могу).
TabBarController — он по сути своей root controller. Добавить его в NavigationController — это нарушение всех существующих парадигм на мой взгляд. В Phone app концепция наоборот — NavigationControllerы находятся внутри отдельных табов. Мне такое не подходит, тк TabBar на первом экране мне не нужен.
Мне не надо скрывать navbar, мне tabbar нужен не везде. А он по своей сути root controller:
Don’t use a tab bar that lets users act on elements in the current mode or screen (that’s what the toolbar’s for). It should be accessible from every level in the app, and helps flatten the app’s information hierarchy.
Да, я думал об этом варианте, но все-таки SegmentedControl больше используется для фильтрации контента. У меня-же различные экраны (если favorites — подмножество от контактов, то keypad совсем отдельный экран).
Пока это лучший вариант…