UIView在UITableView的单元格后面

时间:2012-02-07 13:17:27

标签: iphone ios xcode uitableview

我正在尝试在uitableview的单元格后面插入一个视图,但我找不到合适的方法。每次我将自己的子视图添加到self.view或self.tableview时,即使我使用方法“sendSubviewToBack:”,它也会进入前台... 有人知道如何实现它吗?

PS:我不想使用self.tableview.backgroundView,因为视图是固定的。

由于

3 个答案:

答案 0 :(得分:7)

我通过调用[self.view sendSubviewToBack:self.myBackgroundView]中的tableView:willDisplayCell:forRowAtIndexPath:解决了这个问题。这将把视图放在每个单元格后面。

答案 1 :(得分:6)

您所体验的是合乎逻辑的。 self.view的{​​{1}}确实是表格视图。如果插入子视图,它将插入到表视图的顶部 - 并且无法将其发送到后面。

解决方案1 ​​

最灵活的解决方案是切换到UITableView并自己实现表格查看行为。你需要

  • 将您自己的表格视图插入为UIViewConntroller。现在这是@property的子视图。您可以在代码或IB中执行此操作。
  • 声明并实施self.view<UITableViewDelegate>协议
  • 将表格视图的<UITableViewDatasource>delegate属性设置为datasource
  • 随意插入任何其他子视图,并根据需要随意播放。

解决方案2

如果您只想在tableView后面显示某些内容,则可以使用表视图属性self。这将显示在单元格后面,但您将对视图的大小进行有限的控制(您可以使用背景视图的更多子视图再次解决)。此外,您需要确保您的单元格是透明的。

答案 2 :(得分:0)

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index
索引为0的

将View视为最靠后的位置。

这是UIView上的一种方法。 由于UITableView继承自UIScrollView:UIView:UIResponder:NSObject。我想这会有所帮助。