2016-02-17 2 views
4

Я пытаюсь разработать что-то вроде панели воспроизведения в Apple Music. Общее представление, которое появляется в нижней части всех контроллеров представления UITabbarContoller. Есть ли какая-то идея или лучшая практика для достижения этой цели? enter image description hereДобавить общий вид для всех контроллеров представления в UITabbarController

Ну, я просто положил мое личное решение

  1. подкласс вид контроллер для общего представления.
  2. Прилагает контроллер вида в качестве контроллера дочернего представления контроллера панели вкладок.

Мне не очень нравится встраивать контроллер вида в контроллер панели вкладок. Просто дайте мне знать, если есть лучшее решение.

+0

Можете ли вы рассказать мне, откуда у вас есть этот список песен, то есть из которого api? – DJ1

+0

@ Dh1_Bh1 Это просто экранная кепка Apple Music. – bunnyshell

+0

bunnyshell, вы нашли решение? если да, то, пожалуйста, поделитесь им. Я также хочу это сделать. – RaviJSS

ответ

1

Вы можете добавить эту точку зрения в окно, как подвид

[self.window addSubview:vw]; 

с меткой

vw.tag = 10000; 

, так что вы можете видеть, что мнение по всему приложению

+0

Я действительно не хочу видеть его во всем приложении. Просто для контроллеров вида внутри uitabbarcontroller. Для подобных представлений, представленных на внешнем уровне, этот вид не должен быть замечен. – bunnyshell

+0

Вы можете скрыть с помощью UIView * vw = (UIView *) [window viewWithTag: 1000]; vw.hidden = YES; –

+0

Я боюсь, что это звучит недостаточно изящно ... – bunnyshell

0

Это работало для меня использования segue перейти от одной страницы к другой, а не использовать навигационный контроллер.

- (IBAction)YourButton:(id)sender 
    { 
     [self performSegueWithIdentifier:@"segueIdentifier" sender:self]; 
    } 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 
     if ([segue.identifier isEqualToString:@"segueSearchList"]) 
     { 
      // Do what you want to do 
     } 

    } 

Делая это, ваша панель вкладок будет выглядеть как на первой странице

0

есть класс ParentViewontroller который имеет TabBar на дне и унаследовать этот класс к мнению контролеров, которые нуждается в TabBar и обрабатывать вещи.

0

Вы можете сделать xib для своего вида или класс, унаследованный от UIView, и добавить его в любой контроллер, который вы хотите.

2

UITabBar имеет UINavigationController который имеет все отдельные UIViewController s. Если вы хотите это представление на каждой вкладке, лучший способ сделать это - добавить его поверх представления UINavigationController. Он появится поверх всего, что находится в UINavigationController.

+0

Как я могу получить доступ к 'UINavigationController', о котором вы говорите? – bunnyshell

+0

[self.navigationcontroller.view addSubview: yourView] – dorian

+0

ну, нет гарантии, что существует 'UINavigationController' ... свойство' navigationcontroller' 'UIViewController' относится к возможному контроллеру навигации, который встроен в контроллер просмотра в. – bunnyshell

Смежные вопросы