Чтобы использовать UITabBar, вам понадобится UITabBarController, который отличается от UINavigationController. UITabBar имеет принципиально иное применение, чем UISegmentedControl. Похоже, что функциональность, которую вы пытаетесь реализовать, не подходит для UITabBar. В описании вашего вопроса вы упоминаете, что пытались добавить эти кнопки в «панель инструментов контроллера навигации вверху». UINavigationController имеет UINavigationBar, который является полосой, которая проходит через верх, и UIToolbar, который является полосой, которая появляется в нижней части. UIToolbar, по умолчанию, установлен на скрытый, но вы получаете UIToolbar бесплатно каждый раз, когда создаете UINavigationController (см. Ссылку UINavigationController в XCode).
Демонстрация Apple NavBar показывает, как поместить UISegmentedControl в UINavigationBar. Вместо заголовка используйте пользовательский titleView для отображения сегментированного элемента управления:
fwc.navigationItem.titleView = sortToggle;
Если вы хотите добавить свой UIBarButtonItem в UINavigationBar, вы можете использовать:
fwc.navigationItem.rightBarButtonItem = add;
Обратите внимание, что на самом деле вы не должны пытаться настроить панель навигации UINavigationController самостоятельно. Правильный способ настройки состоит в том, чтобы отдельный контроллер представления имел доступ к своему собственному навигационному элементу и устанавливал для titleView и rightBarButtonItem нужные элементы.
Если вы хотите решить проблему с помощью UIToolBar, а это означает, что ваши элементы появятся в нижней части экрана, вы можете сделать что-то вроде этого:
// Assume UIBarButtonItem *add, UIBarButtonItem *sortToggleButtonItem,
// and UIBarButtonItem *flexibleSpaceButtonItem are allocated
[fwc setToolbarItems:[NSArray arrayWithObjects:
flexibleSpaceButtonItem,
sortToggleButtonItem,
flexibleSpaceButtonItem,
add,
nil]];
[feedingNavController setToolbarHidden:NO];