具有固定图像的iOS表格单元格

时间:2013-12-16 22:14:04

标签: ios objective-c uitableview scroll

我正在开发一个ios应用程序,并尝试在以下网站的tableview中实现效果:http://www.poormet.com/

我有几种方法可以考虑这个问题。我知道你可以设置tableview的背景,它仍然是固定的,然后你可以交换图像,因为文本框覆盖了图像。这是有限的,因为你一次只能在屏幕上有一个图像,这不是我所追求的。

我还想过在单元格向上移动时向下推动每个单元格的图像,但是对于这种情况,我无法在scrollViewDidScroll方法中设置帧位置(我用它来获取tableview中的帧实际位置) 。

我还想知道ios中是否有类似于你在html中使用div的内容,你可以指定要修复的图像。

我该怎么做呢?如果你们需要更多信息让我知道,我很想在这个网站上发帖。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为您应该可以通过scrollViewDidScroll执行此操作。我猜你已经有了UITableViewCell的子类并制作了自己的,所以这是一个想法:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    for(UITableViewCell *cell in [yourTableView visibleCells])
    {
        //I haven't tried this `convertRect` method, and the views might be in the
        //wrong order, but I'm sure you'll figure it out. It should solve this.
        CGRect position = [yourTableView convertRect:cell.frame toView:self.view]
        [((YourCustomCell*)cell) updateImage:position];
    }
}

然后在你的自定义单元格类中,添加一个名为-(void)updateImage:(CGRect)position;的方法,它现在将包含单元格的位置,你可以按照你想要的方式移动图像,因为我猜你已经有了一个方法对于。即:

-(void)updateImage:(CGRect)position
{
    //change the location of the image inside self.imageView here
}