Как реализовать вкладки в отдельном интерфейсе iOS, а не в приложении?

Я хотел бы реализовать вкладки на отдельном интерфейсе iOS. Источником данных для этого интерфейса является список счетов-фактур. Мне нужно отобразить три разных подсписка из набора данных: открытые счета, несинхронизированные доставленные счета и синхронизированные доставленные счета. Я бы хотел, чтобы каждый из этих подсписков был доступен через один и тот же контроллер UINavigation, а отображаемое представление управлялось интерфейсом вкладок в верхней части экрана.

Я читал в рекомендациях Apple, что встроенный контроллер панели вкладок предназначен только для использования в приложении или модально в качестве всплывающего окна в iPad. (В качестве целевых устройств я работаю только с iPhone и iPod.) Ссылка: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/TabBarControllers/TabBarControllers.html

Я также читал в рекомендациях Apple, что TitleView UINavigationController может быть переопределен для отображения сегментированной группы кнопок управления. Я думаю, что это будет хорошим способом для достижения моих целей дизайна. Ссылка: http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Art/navbar_custom_items.jpg

Есть ли другие хорошие способы достижения моих целей?


person NovaJoe    schedule 09.05.2011    source источник


Ответы (1)


Вы можете использовать UITabBarController для этого одного представления, но это, вероятно, запутает пользователей, поскольку это не распространенный метод.

Другой способ — иметь родителя UITableView с тремя разными категориями, и нажатие на одну из трех ячеек приведет вас к соответствующему подмножеству данных.

Я рекомендую использовать сегментированный элемент управления на панели навигации, аналогичный верхней странице диаграмм в приложении App Store. Он делает то, что вы хотите, и соответствует рекомендациям Apple по человеческому интерфейсу.

person edc1591    schedule 09.05.2011
comment
Ваше первое замечание по поводу UINavigationController — это то, чего я пытаюсь избежать. Идея UITableView работает, но немного неуклюжа. Я только что получил измененный дизайн, в котором панель инструментов размещена прямо под панелью навигации, как в приложении Yelp: ‹i52.tinypic.com/55h6s4.jpg›. Хороший способ добиться? - person NovaJoe; 09.05.2011
comment
Для этого, я думаю, вы можете просто создать экземпляр UIToolbar и поместить его ниже UINavigationBar, хотя я в этом не уверен. - person edc1591; 09.05.2011
comment
Я думаю ты прав. Просто вопрос установки кадра UIToolbar с правильными координатами источника. - person NovaJoe; 09.05.2011
comment
Да, это звучит правильно. Вы также должны отрегулировать высоту UITableView, чтобы учесть UIToolbar над ним. - person edc1591; 09.05.2011
comment
Решение: верхняя панель инструментов с сегментированным элементом управления, состоящим из 3 частей. Прекрасно работает. Спасибо, edc1591. Я использую MonoTouch и MonoTouch.Dialog, поэтому мне очень легко реконструировать вид на лету при касании сегмента. - person NovaJoe; 11.05.2011