2014-11-12 2 views
0

Я хотел бы добавить пользовательскую реализацию UITabBar в UITableViewCell.Как добавить UIViewController/UITabBar в UITableViewCell?

Если UITableViewCell сам был UIViewController, я мог бы использовать сдерживание контроллера вида, но это не так.

Лучшее, что я могу сделать прямо сейчас добавить TabBar's вид на contentView клетки в cellForRowAtIndexPath:

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath { 

    NSString *cellID; 
    UITableViewCell *cell; 

    cellID = @"TabCell"; 
    cell = [tableView dequeueReusableCellWithIdentifier:cellID] ?: [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID]; 

    cell.contentView.backgroundColor = UIColor.blueColor; 

    UITabBarController *tabBarController = [[UITabBarController alloc] init]; 

    UIViewController *vc1 = [UIViewController new]; 
    vc1.view.backgroundColor = UIColor.magentaColor; 
    vc1.title = @"TAB1"; 

    UIViewController *vc2 = [UIViewController new]; 
    vc2.view.backgroundColor = UIColor.purpleColor; 
    vc2.title = @"TAB2"; 

    tabBarController.delegate = self; 
    tabBarController.viewControllers = @[vc1, vc2]; 

    [cell.contentView addSubview:tabBarController.view]; 

    return cell 
} 

Проблема заключается в том, что клетка показывает только вид TabBar и не управления TabBar сам.

Как я могу показать весь TabBar в UITableViewCell?

+0

Можете ли вы сделать снимок экрана о том, как выглядит камера сейчас? – MendyK

+0

Понятие о помещении контроллера вида в ячейку просмотра таблицы меня нервничает. Можете ли вы рассказать нам о том, чего вы пытаетесь достичь? –

ответ

0

Попробуйте использовать вид контейнера, который позволяет вам включать дочерний контроллер просмотра. Here's еще одно сообщение SO с инструкциями о том, как это сделать.

Но я должен согласиться с тем, что сказал @rikkigibson в комментариях, возможно, вам стоит пересмотреть свой подход. Может быть, мы сможем помочь, если вы поделитесь более подробной информацией о том, чего хотите достичь.

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