Как отобразить UIView элемент поверх всех экранов в UITabBarController?

Рейтинг: 0Ответов: 1Опубликовано: 12.01.2015

Нужно сделать наподобие стандартного плеера в iOS. В верхней части экрана отображается один и тот же интерфейс проигрывателя для всех элементов в TabBar

alt text

Ответы

▲ 1Принят

Можете правильно организовать иерархию контроллеров. Например: UIViewController -> UITabBarController. Т.е. добавить view(UITabBarController'a) в нужную область view(UIViewController'a).

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
tabBarController = [welcomeStoryboard instantiateViewControllerWithIdentifier:@"tabBarController"];
//Добавить:
[self addChildViewController:tabBarController];
tabBarController.view.frame = /*правильный frame*/;
[self.view addSubview:tabBarController.view];
[tabBarController didMoveToParentViewController:self];
//Удалить:
[tabBarController willMoveToParentViewController:nil];
[tabBarController.view removeFromSuperview];
[tabBarController removeFromParentViewController];

Можете сделать отдельное окно UIWindow.

Зависит от того, что вам будет удобнее для вашей цели.