我有一个带有图像和标签的表格视图单元格。我想添加一个动画,其中所选单元格的图像副本会飞到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];
答案 0 :(得分:3)
convertPoint:toView:
对象上的UIView
方法可以为您提供所需的内容。
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
查看强>
坐标系中带点的视图。如果视图为零,则为此 而是从窗口基坐标转换。否则,两者都有 视图和接收者必须属于同一个UIWindow对象。
您可以采取以下措施:
CGPoint point = [self.view convertPoint:self.view.frame.origin toView:nil];