我正在开发一个应用程序,我有一个UITableView,它有一个应该突出显示所选单元格的选择栏。选择栏是动画的,并且应该移动到表格内选择的任何单元格。不幸的是,我所拥有的图像并没有突出显示正确的细胞。相反,它突出显示位于其上方两行的单元格。我不知道为什么会这样。我已将UITableView和UIImageView添加到Interface Builder中的主视图中。以下是我的相关代码:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[UIView animateWithDuration:.3 animations:^{
CGRect rect = [tableView rectForRowAtIndexPath:indexPath];
_imageView.frame = rect;
}];
}
任何人都可以看到我做错了什么,以及我需要做些什么才能纠正这个问题?
感谢所有回复的人。
答案 0 :(得分:0)
我认为这可能是因为没有从方法中获得所需的矩形。你的rect在tableView的坐标系中显示了框架矩形。尝试将rect从表视图的坐标系更改为根视图的坐标系,其中_imageView是子视图。
CGRect rect = [self.view convertRect:[tableView rectForRowAtIndexPath:indexPath] fromView:tableView];