我想将自定义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 :(得分:0)
尝试使用容器视图,它允许您包含子视图控制器。 Here's另一个SO帖子,说明如何执行此操作。
但我必须同意@rikkigibson在评论中所说的话,也许你应该重新考虑你的方法。如果您分享有关您想要完成的更多细节,我们可以提供帮助。