获取UITableViewCell内视图的绝对位置

时间:2011-08-12 03:03:00

标签: iphone cocoa-touch ipad uiview

我有一个带有图像和标签的表格视图单元格。我想添加一个动画,其中所选单元格的图像副本会飞到tableview外部的某个点。

我已将tableview单元格指针从tableview控制器中传出。当我进行复制时,我发现原始图像的帧不能用于其超视图,即单元格。我怎么能将帧转换为[0,0,1024,768]协调系统?谢谢!

animateImageView = [[UIImageView alloc] initWithImage:cell.thumbnail.image];
[animateImageView setFrame:cell.thumbnail.frame];

[self.view addSubview:animateImageView];
[UIView animateWithDuration:1 delay:0
                    options:UIViewAnimationCurveEaseIn
                 animations:^(void) {
                     [UIView setAnimationTransition:103 forView:animateImageView cache:YES];
                     [UIView setAnimationPosition: CGPointMake(262, 723)];

                 }
                 completion:^(BOOL finished) {
                     [animateImageView removeFromSuperview];

                 }
 ];
[animateImageView release];

1 个答案:

答案 0 :(得分:3)

convertPoint:toView:对象上的UIView方法可以为您提供所需的内容。

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
  

查看

     

坐标系中带点的视图。如果视图为零,则为此   而是从窗口基坐标转换。否则,两者都有   视图和接收者必须属于同一个UIWindow对象。

Documentation

您可以采取以下措施:

CGPoint point = [self.view convertPoint:self.view.frame.origin toView:nil];