如何将UIViewController / UITabBar添加到UITableViewCell?

时间:2014-11-12 00:59:56

标签: ios uitableview uitabbar

我想将自定义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

1 个答案:

答案 0 :(得分:0)

尝试使用容器视图,它允许您包含子视图控制器。 Here's另一个SO帖子,说明如何执行此操作。

但我必须同意@rikkigibson在评论中所说的话,也许你应该重新考虑你的方法。如果您分享有关您想要完成的更多细节,我们可以提供帮助。