当前位置: 首页 > 知识库问答 >
问题:

如何添加UIViewController/UITabBar到UITableViewCell?

袁玮
2023-03-14

我想添加一个自定义的UITabBar实现到一个UITableViewCell

如果一个UITableViewCell本身就是一个UIViewController,我可以使用视图控制器包含,但它不是。

现在我能做的最好的事情就是将选项卡栏的视图添加到cellforrowatinexpath中单元格的contentView

- (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
}

问题是单元格仅显示选项卡栏的视图,而不显示选项卡栏控件本身。

如何在UITableViewCell中显示整个选项卡栏

共有1个答案

白文彬
2023-03-14

尝试使用容器视图,该视图允许您包含子视图控制器。下面是另一篇关于如何做到这一点的SO帖子。

但是我必须同意@rikkigibson在评论中所说的,也许你应该重新考虑你的方法。如果你分享更多关于你想完成什么的细节,也许我们可以帮忙。

 类似资料:
  • 我不知道这是否是搜索“在子视图中添加UIViewController”的正确键。正如您在我的图像中看到的,有两个ViewController,主控制器和第二个控制器。主控制器内部有一个UIView(蓝色背景色)。在UIView中,我想在UIView中添加第二个ViewController。我有这个代码,但不起作用。 这是我的密码 我想知道这是否可行?我知道在xib文件中工作,我不知道在google

  • 如何在项目中添加依赖项?OSGI POI在执行此代码时 执行此代码后,抛出错误 我的pom。xml添加依赖项 安装绷带karaf: Karaf中的所有捆绑包都已成功安装并运行

  • 如何添加mathwidget作为一个子视图内另一个UIViewController目前,mathwidget工作正常时,加载UIViewController. let subViewEE=MathWidgetClassName()self.present(subViewEE,动画:真,完成:零) 但是,当我试图将其添加为当前视图控制器中的子视图时,什么都没有显示,下面是代码: 有人能帮助在当前UI

  • 问题内容: 我想使两个按钮看起来像按钮。只有当我使用actionlink的#ID来应用时,我才能实现此目的。我想为操作链接分配一个类,但是当我使用下面的代码时,出现一个错误,提示我缺少“}”。 这是我正在应用的样式: 这可行,我想我可以将另一个#ID添加到样式中,但想将样式应用于Class。 问题答案: 您必须使用字符,因为class是C#中的关键字。这是MSDN文档的链接

  • 我在这里试图实现的是,当用户选择ComboBox中的数据时,它会将其与我的HashMap匹配,并将其添加到ArrayList中。 代码有效。输出为: (用户从组合框中选择了 LOTR 1) 但是当我再次单击该按钮时,ArrayList会重置。我想要的是让ArrayList继续添加数据而不替换初始数据,即使它是重复的。例如: 基本上,用户可以从ComboBox中选择无数次,ArrayList不断添加

  • 请帮助我,我正在创建像sublime text editor这样的软件。我想显示可用的字符集列表,下面是主要问题的图片。在这张图片中,我看到的菜单弹出窗口至少有200多个字符集,但只有显示。。。某物但是要显示所有字符集。没有为该弹出菜单添加滚动条的选项 我的软件图片有问题,请看那个红色圆圈。 请任何人帮助我如何添加滚动条到那个