在iOS中选择单元格时,UIImageView未覆盖UITableView中的正确单元格

时间:2013-06-05 20:27:31

标签: ios uitableview

我正在开发一个应用程序,我有一个UITableView,它有一个应该突出显示所选单元格的选择栏。选择栏是动画的,并且应该移动到表格内选择的任何单元格。不幸的是,我所拥有的图像并没有突出显示正确的细胞。相反,它突出显示位于其上方两行的单元格。我不知道为什么会这样。我已将UITableView和UIImageView添加到Interface Builder中的主视图中。以下是我的相关代码:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


    [UIView animateWithDuration:.3 animations:^{
        CGRect rect = [tableView rectForRowAtIndexPath:indexPath];
        _imageView.frame = rect;
    }];

}

任何人都可以看到我做错了什么,以及我需要做些什么才能纠正这个问题?

感谢所有回复的人。

1 个答案:

答案 0 :(得分:0)

我认为这可能是因为没有从方法中获得所需的矩形。你的rect在tableView的坐标系中显示了框架矩形。尝试将rect从表视图的坐标系更改为根视图的坐标系,其中_imageView是子视图。

CGRect rect = [self.view convertRect:[tableView rectForRowAtIndexPath:indexPath] fromView:tableView];