UITableView 添加子视图

Posted

技术标签:

【中文标题】UITableView 添加子视图【英文标题】:UITableView add subview 【发布时间】:2011-10-12 07:59:37 【问题描述】:

我想在UITableView中添加子视图

我试过这样:

[self.tableView addSubView:myView.view];

我没有收到任何错误,但没有添加视图,谁能帮忙..?

谢谢。

【问题讨论】:

如果 myView 是 UIView 类型,那么只需 [self.tableView addSubView:myView]; 什么是myView?它是 UIViewController 还是 UIView 的子类 我创建了 UIView 的对象并添加到 tableview 的子视图中 那么你应该这样写...[self.tableView addSubView:myView] 我已经在我的 cmets 中添加了我已经成功完成我的任务仍然感谢您的时间。 【参考方案1】:

试试这个:

view.frame = CGRectMake(view.frame.origin.x, -view.frame.size.height, view.frame.size.width, view.frame.size.height);
[self.tableView addSubview:view];
[self.tableView setContentInset:UIEdgeInsetsMake(view.frame.size.height, 0, 0, 0)];

这将在单元格上方添加视图,并将单元格向下移动添加视图的高度。

【讨论】:

【参考方案2】:

我不明白您为什么要向 Tableview 添加子视图。可能是您想为 tableView 的每个单元格添加一些内容。您可以通过添加:

[cell.contentView addSubview:yourSubView];

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

【讨论】:

现在它工作正常实际上我必须在表格视图中间添加指示器,背景为透明视图,但现在它工作正常感谢您的回答【参考方案3】:

self.tableViewmyView 都不应该是 nil

myView.view 是什么意思?

这段代码对我很有用:

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)];
UILabel *labelView = [[UILabel alloc] initWithFrame:CGRectMake(20, 80, 200, 20)];
labelView.text = @"TEST";
[headerView addSubview:labelView];

[self.tableView addSubview:headerView];

【讨论】:

【参考方案4】:

对于斯威夫特:

let foregroundView = UILabel(frame: CGRectMake(0, 0, tableView.bounds.size.width, tableView.bounds.size.height))
foregroundView.backgroundColor = UIColor.whiteColor()
tableView.addSubview(foregroundView)
foregroundView.bringSubviewToFront(tableView)

你也可以删除它:

foregroundView.removeFromSuperview()

【讨论】:

【参考方案5】:

只需将您的代码行替换为以下代码:

[self.tableView.superview addSubview:myView];

注意:

我不确定您在问题中提到的代码行中的myView.view

【讨论】:

tableView.superview 为零

以上是关于UITableView 添加子视图的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 添加子视图

在 UITableView 上添加子视图

UITableView 的子视图永远不会出现

如何将 UITableView 作为子视图添加到 xib 中的 UIView?

如果两个 UITableView 被添加为屏幕上的子视图,导航栏只会折叠一个 UITableView

编辑搜索栏时将 UITableView 添加到子视图