在UITableView上自定义滚动绘图层

时间:2012-11-09 16:51:51

标签: objective-c ios uitableview uikit

我这几天一直在努力解决这个问题,所以我希望有人能帮帮我... 我有一个分组的UITableView与几个单元格。我想在UITableView上面绘制一些自定义图形,它将与表格的内容一起滚动。具体来说,我想绘制一条带点的线,加入UITableViewCells(跨部分),如下所示:
Screenshot http://i46.tinypic.com/21dpwmd.gif

当然,如果我们有更多的单元格而不是屏幕能够显示的单元格,那么带有自定义绘图的上层应该与底层单元格一起移动。 我试图继承UITableView并覆盖它的-drawRect方法,但它没有用。即使我不打电话给[super drawRect:rect],表格内容也没有问题。 我试图在UITableView中添加一个新的子视图,但是当它从数据源中获取单元格和部分时它会动态地改变它的大小...我没有想法......

虽然Web上充满了自定义的UITableViewCell示例,但我还没有找到与我的概念类似的任何内容......

任何人都可以帮助我如何实现上述功能吗?

1 个答案:

答案 0 :(得分:0)

首先你应该是UITableView的子类。然后创建另一个UIView并将其添加为自定义UITableVIew的子视图。

接下来重写UITableView的contentOffset属性。

-(void)setContentOffset:(CGPoint)contentOffset
{

    [super setContentOffset:contentOffset];

    // Custom code here. Update custom subview here.
}

在滚动UITableView时将调用此方法。然后,您可以调整子视图的偏移量并更新其绘图。