Objective c -(CGRect)convertRect:(CGRect)rect-toView:(可为空的UIView*)视图

Objective c -(CGRect)convertRect:(CGRect)rect-toView:(可为空的UIView*)视图,objective-c,uitableview,uiview,Objective C,Uitableview,Uiview,在tableView中用于获取imageView相对于其他视图的位置,但在滑动tableView时,rect错误 我不知道如何处理此问题。除非准备减去contentOffset,否则不能将tableView用作此转换的父级 UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex]; UIView *parentView = [self getParsentView:sourceView

在tableView中用于获取imageView相对于其他视图的位置,但在滑动tableView时,rect错误


我不知道如何处理此问题。

除非准备减去contentOffset,否则不能将tableView用作此转换的父级

UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex];
UIView *parentView = [self getParsentView:sourceView];
CGRect rect = [sourceView.superview convertRect:sourceView.frame toView:parentView];
NSLog(@"%@",NSStringFromCGRect(rect));
最好使用非滚动父项:

UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex];
UITableView *parentView = self.tableView;
CGRect rect = [sourceView.superview convertRect:sourceView.frame toView:parentView];
rect = CGRectOffset(rect, 0-parentView.contentOffset.x, 0-parentView.contentOffset.y);
NSLog(@"%@",NSStringFromCGRect(rect));

多么糟糕的标题!欢迎来到SO。请看一看。您可能还需要检查、和以及如何创建。张贴您尝试过的代码和收到的错误。尽可能具体,因为这将导致更好的答案。
UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex];
UIView *parentView = self.navigationController.view;
CGRect rect = [sourceView.superview convertRect:sourceView.frame toView:parentView];
NSLog(@"%@",NSStringFromCGRect(rect));