我正在尝试在uitableview的单元格后面插入一个视图,但我找不到合适的方法。每次我将自己的子视图添加到self.view或self.tableview时,即使我使用方法“sendSubviewToBack:”,它也会进入前台... 有人知道如何实现它吗?
PS:我不想使用self.tableview.backgroundView,因为视图是固定的。
由于
答案 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。我想这会有所帮助。