Как разместить UISegmentedControl в UINavigationBar?

Доброго времени суток. Очень нужна помощь.
Столкнулся со следующей проблемой:
нужно разместить UISegmentedControl в UINavigationBar как на снимке
b687ed48a8464a99ad7fcdb04efa1f8d.png

Пробовал уже несколько вариантов:
1. размещал segmented control в title navigation bar'a, а сам тайтл указывал в prompt. Результат совсем не тот.
2. Мне подсказали что на снимке это не стандартный UINavigationBar, а UIView.

На данном этапе пытаюсь реализовать, используя 2-й вариант, но уже вижу, что возникнет очень много проблем.
Возможно, кто-то сталкивался с такой задачей? Возможно, есть готовое решение?
Буду очень благодарен за совет.
  • Вопрос задан
  • 6584 просмотра
Решения вопроса 1
tipalchuk
@tipalchuk Автор вопроса
Пример того что получилось
Example
Нужно еще малость настроить, но суть понятна.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
GxocT
@GxocT
1. Создайте класс CustomNavigationBar : UINavigationBar.
2. Инициализируйте UInavigationController используя ваш CustomNavigationBar. [[UInavigationController alloc] initWithNavigationBarClass:[CustomNavigationBar class] toolbarClass:nil];
3. Ну а дальше, CustomNavigationBar в полном вашем распоряжении. Добавляйте в него хоть UISegmentedControl, хоть собственную реализацию подобного функционала.

stackoverflow.com/questions/6672229/how-to-subclas...
Ответ написан
Комментировать
Комментировать
думаю, это и правда не navigation bar, у него тут высота непонятно какая
Ответ написан
Комментировать
tipalchuk
@tipalchuk Автор вопроса
Все таки удалось достичь желаемого результата следующим способом:
1. Под navigation bar я разместил uiview с segmented control
2. Убрал нижний border у navigation bar'a
3. Добвил bottom border у UIView
4. Плюс манипуляции с constraints для view controller'a

Кому интересно могу дать ссылку на github
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы